廣西桂林地圖適合seo優(yōu)化的網(wǎng)站制作
鶴壁市浩天電氣有限公司
2026/01/24 15:48:54
廣西桂林地圖,適合seo優(yōu)化的網(wǎng)站制作,網(wǎng)頁設計素材書,四川華泰建設集團網(wǎng)站基于CNN-SVR的多輸入單輸出組合回歸預測模型 python代碼
特征提取與非線性建模#xff1a; CNN-SVR的核心思想是使用卷積神經(jīng)網(wǎng)絡來提取數(shù)據(jù)中的重要特征。
CNN具有強大的特征提取能力#xff0c;能夠自動學習數(shù)據(jù)中的非線性特征。
支持向量回歸#xff08;SVR#xff09;…基于CNN-SVR的多輸入單輸出組合回歸預測模型 python代碼 特征提取與非線性建模 CNN-SVR的核心思想是使用卷積神經(jīng)網(wǎng)絡來提取數(shù)據(jù)中的重要特征。 CNN具有強大的特征提取能力能夠自動學習數(shù)據(jù)中的非線性特征。 支持向量回歸SVR 特征被提取CNN-SVR將這些特征提供給支持向量回歸模型。 SVR是一種非線性回歸方法它可以捕捉特征與目標之間的復雜非線性關系。 性能評估 計算均方誤差MSE、平均絕對誤差MAE、R2R-squared和平均絕對百分比誤差MAPE等性能指標。 可視化 提供了各種圖表包括真實值與預測值的折線圖、散點圖、擬合線圖、殘差分布直方圖以及模型收斂速度曲線。from tensorflow.keras.layers import Conv1D, GlobalAvgPool1D, Dense from sklearn.svm import SVR # 特征提取器 cnn_feature_extractor Sequential([ Conv1D(64, 3, activationrelu, input_shape(100, 8)), Conv1D(128, 5, activationrelu), GlobalAvgPool1D(), Dense(32, activationrelu) ]) # 組合模型 svr_regressor SVR(kernelrbf, C1.0, epsilon0.1) # 這里偷個懶實際使用記得分開訓練集測試集 features cnn_feature_extractor.predict(X_train) svr_regressor.fit(features, y_train)搞過圖像處理的兄弟可能發(fā)現(xiàn)了這CNN用的1D卷積。沒錯時間序列或者表格數(shù)據(jù)就該這么玩。第一層卷積核尺寸3抓局部特征第二層加大到5捕捉更長距離的關系。全局平均池化這個老六直接把三維輸出拍成一維比Flatten省參數(shù)多了。特征提取完扔給SVR的時候有個坑要注意CNN輸出的特征維度別太高否則SVR算到地老天荒。所以最后接了個32維的全連接層算是特征壓縮。這里要是換成降維算法也行不過讓模型自己學更省事。評估指標咱們得整點實在的別光看損失曲線自嗨from sklearn.metrics import mean_squared_error, r2_score preds svr_regressor.predict(cnn_feature_extractor.predict(X_test)) print(fMSE: {mean_squared_error(y_test, preds):.3f}) print(fR2: {r2_score(y_test, preds):.3f}) # 畫圖大法 plt.figure(figsize(12,6)) plt.plot(y_test[:200], labelGround Truth, alpha0.7) plt.plot(preds[:200], labelPredictions, linestyle--) plt.legend() plt.title(CNN-SVR預測效果對比)這個對比圖一出來甲方爸爸立馬看懂。重點區(qū)域建議用方框標出來比如某些預測突變點方便解釋模型哪里表現(xiàn)好哪里拉胯。散點圖也別忘了加順便畫條yx的參考線sns.jointplot(xy_test, ypreds, kindreg, height8) plt.plot([y_min, y_max], [y_min, y_max], r--)殘差分析是檢驗模型健康的X光片。正常應該接近正態(tài)分布要是出現(xiàn)雙峰或者偏得離譜趕緊回去檢查數(shù)據(jù)泄露或者特征工程residuals y_test - preds sns.histplot(residuals, kdeTrue, bins30) plt.xlabel(預測殘差)最后說個實戰(zhàn)技巧CNN部分先用Adam快速收斂等loss降不動了換SGD微調(diào)。SVR的超參數(shù)調(diào)優(yōu)可以用網(wǎng)格搜索但更騷的操作是用貝葉斯優(yōu)化迭代次數(shù)能省一半。代碼別寫死超參數(shù)搞個配置文件或者命令行參數(shù)方便不同數(shù)據(jù)集切換。這路子適合中小規(guī)模數(shù)據(jù)萬級樣本數(shù)據(jù)量太大還是直接上全連接DNN吧。畢竟SVR的時間復雜度擺在那兒別跟自個兒的CPU過不去。模型融合的玄學在于CNN抽的特征可能比人工設計的更有區(qū)分度但解釋性確實差點意思——魚和熊掌不可兼得啊。