使用AutoKeras2.0的AutoModel進行結構化數據回歸預測

1、First of All: Read The Fucking Source Code

import autokeras as ak
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error# 生成數據集
np.random.seed(42)
x = np.random.rand(1000, 10)  # 生成1000個樣本,每個樣本有10個特征
y = x.dot([0.5, -1.5, 2.0, -0.8, 1.2, -0.3, 0.7, -1.1, 0.4, -0.6]) + 3.0  # 生成目標變量# 劃分訓練集和測試集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42)input_node = ak.Input()
output_node = ak.DenseBlock()(input_node)  # 數值特征處理層
output_node = ak.RegressionHead()(output_node)# 初始化AutoModel,指定為回歸任務
regressor = ak.AutoModel(inputs=input_node,  # 指定輸入節點outputs=output_node,  # 指定輸出節點overwrite=True,  # 覆蓋之前的搜索結果max_trials=2  # 最大嘗試次數
)# 訓練模型
regressor.fit(x_train, y_train, epochs=10)# 評估模型
predictions = regressor.predict(x_test)
mse = mean_squared_error(y_test, predictions)
print('Mean Squared Error: {:.2f}'.format(mse))# 顯示最佳模型信息
model = regressor.export_model()
model.summary()

?注:以上基于AutoKeras 2.0版本回歸測試的例子,特別使用了通用的AutoModel的寫法,其1.1版本不支持。

2、代碼結構簡介

AutoKeras是一個基于Keras的自動機器學習庫,它能夠自動搜索最優的神經網絡架構。上述為一個簡單的回歸任務示例代碼,主要包含以下部分:

  1. 生成模擬數據集并進行訓練/測試集劃分
  2. 定義AutoKeras的輸入輸出節點
  3. ?配置并訓練AutoModel
  4. ?預測并計算均方誤差
  5. ?查看最佳模型結構

3、AutoModel輸入輸出說明

input_node = ak.Input()
output_node = ak.DenseBlock()(input_node) ?# 數值特征處理層
output_node = ak.RegressionHead()(output_node)

輸入部分:

  • input_node = ak.Input()?創建輸入節點
  • 無需指定輸入形狀,AutoKeras會自動推斷

處理層部分:

  • DenseBlock()?處理數值特征
  • 通過函數式API連接:output_node = ak.DenseBlock()(input_node)

輸出部分:

  • RegressionHead()?指定回歸任務
  • 同樣使用函數式API連接

AutoModel配置:

  1. inputs參數接收輸入節點
  2. outputs參數接收輸出節點

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84546.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

實戰設計模式之訪問者模式

概述 訪問者模式允許我們在不改變類的前提下,向已有類添加新的功能。簡單來說,就是將算法與對象的數據結構進行分離的一種方法。在實際應用中,當我們需要對一組對象執行一些操作,而這些操作又需要隨著需求的變化而不斷變化時&…

centos7.9使用docker-compose安裝kafka

docker-compose配置文件 services:zookeeper:image: confluentinc/cp-zookeeper:7.0.1hostname: zookeepercontainer_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000kafka:image: confluentinc/cp-kafka:7.0…

STM32:Modbus通信協議核心解析:關鍵通信技術

知識點1【 Modbus通信】 1、Modbus的概述 Modbus是OSI模型第七層的應用層報文傳輸協議 協議:說明有組包和解包的過程 2、通信機制 Modelbus是一個請求/應答協議 通信機制:主機輪詢,從機應答的機制。每個從設備有唯一的地址,主…

LeetCode 3362.零數組變換 III:貪心+優先隊列+差分數組——清晰題解

【LetMeFly】3362.零數組變換 III:貪心優先隊列差分數組——清晰題解 力扣題目鏈接:https://leetcode.cn/problems/zero-array-transformation-iii/ 給你一個長度為 n 的整數數組 nums 和一個二維數組 queries ,其中 queries[i] [li, ri] …

ORM++ 封裝實戰指南:安全高效的 C++ MySQL 數據庫操作

ORM 封裝實戰指南:安全高效的 C MySQL 數據庫操作 一、環境準備 1.1 依賴安裝 # Ubuntu/Debian sudo apt-get install libmysqlclient-dev # CentOS sudo yum install mysql-devel# 編譯時鏈接庫 (-I 指定頭文件路徑 -L 指定庫路徑) g main.cpp -stdc17 -I/usr/i…

JESD204B 協議介紹

一、協議概述 JESD204B是由JEDEC(固態技術協會)制定的高速串行接口標準,專為模數轉換器(ADC)、數模轉換器(DAC)與邏輯器件(如FPGA、ASIC)之間的數據傳輸設計。其核心目標…

yolov8,c++案例匯總

文章目錄 引言多目標追蹤案例人體姿態估計算法手勢姿態估計算法目標分割算法 引言 以下案例,基于c,ncnn,yolov8既可以在windows10/11上部署, 也可以在安卓端部署, 也可以在嵌入式端部署, 服務器端可支持部署封裝為DLL,支持c/c#/java端調用 多目標追蹤案例 基于yolov8, ncnn,…

運動規劃實戰案例 | 圖解基于狀態晶格(State Lattice)的路徑規劃(附ROS C++/Python仿真)

目錄 1 控制采樣 vs 狀態采樣2 State Lattice路徑規劃2.1 算法流程2.2 Lattice運動基元生成2.3 幾何代價函數2.4 運動學約束啟發式 3 算法仿真3.1 ROS C仿真3.2 Python仿真 1 控制采樣 vs 狀態采樣 控制采樣的技術路線源自經典的運動學建模思想。這種方法將機器人的控制指令空…

BERT框架:自然語言處理的革命性突破

引言 在自然語言處理(NLP)領域,2018年Google推出的BERT(Bidirectional Encoder Representations from Transformers)框架無疑是一場革命。作為基于Transformer架構的雙向編碼器表示模型,BERT通過預訓練學習…

【Fifty Project - D31】

結束了一個超級消耗周末,滿安排之健身梅溪湖游泳做飯喝酒羽毛球賽 完全力竭了,久久不能恢復過來,暫停健身安排了 端午后再繼續 今日完成記錄 TimePlan完成情況7:30 - 8:10有氧爬坡√9:00 - 11:…

信息學奧賽一本通 1547:【 例 1】區間和

【題目鏈接】 ybt 1547:【 例 1】區間和 【題目考點】 1. 線段樹 2. 樹狀數組 【解題思路】 本題要求維護區間和,實現單點修改、區間查詢。 解法1:線段樹 線段樹原理,及實現方法見:洛谷 P3374 【模板】樹狀數組…

力扣面試150題--求根節點到葉節點數字之和

Day 48 題目描述 思路 我們利用sum這個全局變量來保存總和值,遞歸函數sum來計算每個根到葉子節點路徑所代表的數,由于我們需要遍歷到每條根到葉子節點的路徑,所有我采取了前序遍歷,如果不是葉子節點,就計算到該節點代…

DJI上云API官方demo學習

1、websocket,所在位置如下圖,調用的可以用//websocket搜索 2、用到的http客戶端,axios 3、很多和后端交互都是走的http請求

uniapp開發小程序,如何根據權限動態配置按鈕或頁面內容

前言 寫了好幾個項目,發現小程序對權限控制非常麻煩,于是有了這個想法,但是網上找了一圈沒有一個比較完善的講解,因為小程序不支持自定義指令,所以不能像后臺那樣方便,于是就將幾個博主的想法結合。 思路就…

LSTM+Transformer混合模型架構文檔

LSTMTransformer混合模型架構文檔 模型概述 本項目實現了一個LSTMTransformer混合模型,用于超臨界機組協調控制系統的數據驅動建模。該模型結合了LSTM的時序建模能力和Transformer的自注意力機制,能夠有效捕捉時間序列數據中的長期依賴關系和變量間的復…

測量尺子:多功能測量工具,科技改變生活

測量尺子是一款專業的測距儀測量萬能工具箱類型手機APP,旨在為用戶提供最貼心的測量助手。它擁有和現實測量儀器一樣的測量標準,更簡單便捷且精準的測量方式,最新AR科技測量更是大大拓寬了可以被測量的高度和深度。無論是日常使用、學習還是工…

結課作業01. 用戶空間 MPU6050 體感鼠標驅動程序

目錄 一. qt界面實現 二. 虛擬設備模擬模擬鼠標實現體感鼠標 2.1 函數聲明 2.2 虛擬鼠標實現 2.2.1 虛擬鼠標創建函數 2.2.2 鼠標移動函數 2.2.3 鼠標點擊函數 2.3 mpu6050相關函數實現 2.3.1 i2c設備初始化 2.3.2 mpu6050寄存器寫入 2.3.3 mpu6050寄存器讀取 2.3.…

深入淺出 Python Testcontainers:用容器優雅地編寫集成測試

在現代軟件開發中,自動化測試已成為敏捷開發與持續集成中的關鍵環節。單元測試可以快速驗證函數或類的行為是否符合預期,而集成測試則確保多個模塊協同工作時依然正確。問題是:如何讓集成測試可靠、可重復且易于維護? 這時&#…

JVM 的垃圾回收器

新生代回收器 通性 會觸發StW,暫停所有應用線程復制算法 Serial 單線程回收適合單線程系統 ParNew 多線程回收優先保證響應速度,降低 STW(STW 越大,執行垃圾回收的時間越長,回收的垃圾越多,減少垃圾回…

【筆記】排查并解決Error in LLM call after 3 attempts: (status code: 502)

#工作記錄 一、問題描述 在部署運行部署對沖基金分析工具 ai-hedge-fund 時,不斷出現以下報錯,導致項目運行異常: Error in LLM call after 3 attempts: (status code: 502) Error in LLM call after 3 attempts: [WinError 10054] 遠程主…