回歸預測 | MATLAB實現基于SAE堆疊自編輯器多輸入單輸出回歸預測

回歸預測 | MATLAB實現基于SAE堆疊自編輯器多輸入單輸出回歸預測

目錄

    • 回歸預測 | MATLAB實現基于SAE堆疊自編輯器多輸入單輸出回歸預測
      • 預測效果
      • 基本介紹
      • 模型描述
      • 程序設計
      • 參考資料

預測效果

在這里插入圖片描述

基本介紹

1.MATLAB實現基于SAE堆疊自編輯器多輸入單輸出回歸預測;
2.運行環境為Matlab2020b;
3.輸入多個特征,輸出單個變量,多變量回歸預測;
4.data為數據集,excel數據,前7列輸入,最后1列輸出,所有文件放在一個文件夾;
5.命令窗口輸出R2、MAE、MAPE、RMSE多指標評價;

模型描述

基于SAE(Stacked Autoencoder)的堆疊自編碼器是一種無監督學習算法,用于學習輸入數據的特征表示。它可以用于多輸入單輸出的回歸預測任務。下面是一個基于SAE堆疊自編碼器的多輸入單輸出回歸預測的一般步驟:準備輸入數據和對應的輸出標簽。輸入數據可以有多個特征,每個特征可以是數值型、分類型或者其他類型的數據。輸出標簽是回歸預測的目標值。對輸入數據進行標準化處理,使得不同特征具有相同的尺度。這可以提高模型的訓練效果。使用堆疊自編碼器的層次結構逐層進行訓練。每一層的自編碼器都是一個無監督學習模型,它通過最小化重構誤差來學習輸入數據的表示。每個自編碼器的隱藏層輸出可以作為下一層自編碼器的輸入。
訓練完整的堆疊自編碼器后,可以使用它來提取輸入數據的特征表示。將輸入數據通過每一層的自編碼器,得到每一層的隱藏層輸出作為新的特征表示。使用提取的特征表示和對應的輸出標簽進行回歸模型的訓練。可以選擇常見的回歸模型,如線性回歸、支持向量回歸(SVR)或者深度神經網絡等。使用評估指標(如均方誤差、平均絕對誤差等)對訓練好的回歸模型進行評估。可以使用交叉驗證等技術來評估模型的泛化性能。使用訓練好的回歸模型對新的輸入數據進行預測。將輸入數據通過特征提取步驟得到特征表示,然后使用回歸模型進行預測。SAE的堆疊自編碼器可以根據具體的任務和數據進行調整和優化。

程序設計

  • 完整源碼和數據獲取方式:私信回復基于SAE堆疊自編輯器多輸入單輸出回歸預測
%% 預測
t_sim1 = predict(net, p_train); 
t_sim2 = predict(net, p_test ); %%  數據反歸一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);%%  均方根誤差
error1 = sqrt(sum((T_sim1' - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2' - T_test ).^2) ./ N);%%  相關指標計算
%  R2
R1 = 1 - norm(T_train - T_sim1')^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test  - T_sim2')^2 / norm(T_test  - mean(T_test ))^2;disp(['訓練集數據的R2為:', num2str(R1)])
disp(['測試集數據的R2為:', num2str(R2)])%  MAE
mae1 = sum(abs(T_sim1' - T_train)) ./ M ;
mae2 = sum(abs(T_sim2' - T_test )) ./ N ;disp(['訓練集數據的MAE為:', num2str(mae1)])
disp(['測試集數據的MAE為:', num2str(mae2)])%% 平均絕對百分比誤差MAPE
MAPE1 = mean(abs((T_train - T_sim1')./T_train));
MAPE2 = mean(abs((T_test - T_sim2')./T_test));disp(['訓練集數據的MAPE為:', num2str(MAPE1)])
disp(['測試集數據的MAPE為:', num2str(MAPE2)])%  MBE
mbe1 = sum(abs(T_sim1' - T_train)) ./ M ;
mbe2 = sum(abs(T_sim1' - T_train)) ./ N ;disp(['訓練集數據的MBE為:', num2str(mbe1)])
disp(['測試集數據的MBE為:', num2str(mbe2)])%均方誤差 MSE
mse1 = sum((T_sim1' - T_train).^2)./M;
mse2 = sum((T_sim2' - T_test).^2)./N;disp(['訓練集數據的MSE為:', num2str(mse1)])
disp(['測試集數據的MSE為:', num2str(mse2)])

參考資料

[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

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

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

相關文章

Request+Response

文章目錄 1. 介紹2. Request對象2.1 Request繼承體系2.2 Request獲取請求數據1.獲取請求行2.獲取請求頭3.獲取請求體4. 請求參數的通用方式5. 解決中文亂碼問題 2.3 Request請求轉發請求轉發資源間共享數據: 3. Response對象3.0 Response 繼承體系3.1 Response設置響應數據的功…

使用GEWE框架進行個人微信收藏夾及標簽管理(收藏夾篇)適用于微信群管、社群管理

友情鏈接:geweapi.com 點擊即可訪問! 如果個人有多個微信,進行收藏夾管理是非常麻煩的事情,這時候可以用得到GEWE框架的管理模塊!下面來看一下使用方法吧~ 獲取收藏信息 小提示: 獲取收藏相關信息注意&am…

iOS手機無法安裝Charles 的ssl證書

問題描述 iOS客戶端安裝證書時一直卡在下載這一步,無法抓包 1、打開Charles,選擇help→SSL Proxying→Install Charles Root Certificate on a Mobile Device or Remote Browser 2、按照步驟1中的提示進行操作,手機連接電腦代理,…

Spring系列七:聲明式事務

🐘聲明式事務 和AOP有密切的聯系, 是AOP的一個實際的應用. 🐲事務分類簡述 ●分類 1.編程式事務: 示意代碼, 傳統方式 Connection connection JdbcUtils.getConnection(); try { //1.先設置事務不要自動提交 connection.setAutoCommit(false…

ZooKeeper的應用場景(分布式鎖、分布式隊列)

7 分布式鎖 分布式鎖是控制分布式系統之間同步訪問共享資源的一種方式。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那么訪問這些資源的時候,往往需要通過一些互斥手段來防止彼此之間的干擾,以保證一致性,…

島嶼的最大面積(力扣)遞歸 JAVA

給你一個大小為 m x n 的二進制矩陣 grid 。 島嶼 是由一些相鄰的 1 (代表土地) 構成的組合,這里的「相鄰」要求兩個 1 必須在 水平或者豎直的四個方向上 相鄰。你可以假設 grid 的四個邊緣都被 0(代表水)包圍著。 島嶼的面積是島上值為 1 的…

error_Network Error

此頁面為訂單列表,是混合開發(頁面嵌入在客戶端中) 此頁面為訂單列表,此需求在開發時后端先將代碼發布在測試環境,我在本地調試時調用的后端接口進行聯調沒有任何問題。 此后我將代碼發布在測試環境,在app中打開頁面&#xff0c…

vue echarts中按鈕點擊后修改值 watch數據變化后刷新圖表

1 點擊按鈕 {feature: {myBtn1: {show: true,title: 反轉Y軸,showTitle: true,icon: path://M512 0A512 512 0 1 0 512 1024A512 512 0 0 0 512 0M320 320V192h384v128zM128 416V288h256v128zM320 704V576h384v128zM128 800V672h256v128z,onclick: () > {dataSetting.rever…

nginx服務器報錯502 Bad Gateway的原因以及解決辦法

服務器報錯nginx 502 Bad Gateway的原因以及解決辦法_502 bad gateway nginx_主題模板站的博客-CSDN博客

C++學習筆記總結練習:effective 學習日志

準則 1.少使用define define所定義的常量會在預處理的時候被替代,出錯編譯器不容易找到錯誤。而且還沒有作用范圍限制,推薦使用constdefine宏定義的函數,容易出錯,而且參數需要加上小括號,推薦使用inline有的類中例如…

已經開源的中文大模型對比,支持更新

大模型下載:互鏈高科 ClueAI/PromptCLUE-base-v1-5 at main (huggingface.co) 支持多任務生成,支持中文,不支持多輪對話,體驗:ClueAI (cluebenchmarks.com) 基于promptclue-base進一步訓練的模型:ClueAI/Ch…

【C與C++的相互調用方法】

C與C的相互調用方法 C與C為什么相互調用的方式不同C中調用CC中調用C致謝 C與C為什么相互調用的方式不同 C 和 C 之間的相互調用方式存在區別,主要是由于 C 和 C 語言本身的設計和特性不同。 函數調用和參數傳遞方式不同:C 和 C 在函數調用和參數傳遞方面…

docker oracle linux命令執行sql

docker 安裝參照 https://blog.csdn.net/arcsin_/article/details/123707618 docker container ls -a命令查看容器名 打開容器 docker exec -it orcl19c_03 /bin/bashsys 用戶登錄容器 sqlplus / as sysdbashow pdbs;什么是pdb數據庫?什么是CDB? 參…

游戲如何防御DDOS流量攻擊呢,用游戲盾真的有用么?

針對在線游戲行業來說,DDoS(分布式拒絕服務)攻擊是一種極具破壞性的威脅。DDoS攻擊可能導致游戲服務器不可用,嚴重影響游戲體驗和運營。為了解決這一問題,游戲盾作為一種專門為游戲行業設計的安全解決方案,…

微信小程序 藍牙設備連接,控制開關燈

1.前言 微信小程序中連接藍牙設備,信息寫入流程 1、檢測當前使用設備(如自己的手機)是否支持藍牙/藍牙開啟狀態 wx:openBluetoothAdapter({}) 2、如藍牙已開啟狀態,檢查藍牙適配器的狀態 wx.getBluetoothAdapterState({}) 3、添加…

第十三章 SpringBoot項目(總)

1.創建SpringBoot項目 1.1.設置編碼 1.4.導入已有的spring boot項目 2.快速搭建Restfull風格的項目 2.1.返回字符串 RestController public class IndexController {RequestMapping("/demo1")public Object demo1() {System.out.println("demo1 ran...."…

kafka的位移

文章目錄 概要消費位移__consumer_offsets主題位移提交 概要 本文主要總結kafka的位移是如何管理的,在broker端如何通過命令行查看到位移信息,并從代碼層面總結了位移的提交方式。 消費位移 對于 Kafka 中的分區而言,它的每條消息都有唯一…

0基礎學習VR全景平臺篇 第86篇:智慧眼-為什么要設置分組選擇?

一、功能說明 分組選擇,也就是給全景的每個分組去設置其所屬的行政區劃,設置后只有屬于同行政區劃的成員才可進入其場景進行相關操作,更便于實現城市的精細化管理。 二、后臺編輯界面 分組名稱:場景的分組名稱。 對應分類&…

網絡安全--linux下Nginx安裝以及docker驗證標簽漏洞

目錄 一、Nginx安裝 二、docker驗證標簽漏洞 一、Nginx安裝 1.首先創建Nginx的目錄并進入: mkdir /soft && mkdir /soft/nginx/cd /soft/nginx/ 2.下載Nginx的安裝包,可以通過FTP工具上傳離線環境包,也可通過wget命令在線獲取安裝包…

【數據結構與算法】隊列

文章目錄 一:隊列1.1 隊列的概念1.2 隊列的介紹1.3 隊列示意圖 二:數組模擬隊列2.1 介紹2.2 思路2.3 代碼實現2.3.1 定義隊列基本信息2.3.2 初始化隊列2.3.3 判斷隊列是否滿,是否為空2.3.4 添加數據到隊列2.3.5 獲取隊列數據,出隊…