Data3
Super Conductor
Super Conductor
資料名稱:Super Conductor
總共筆數:21263
變數:81
預測目標:`critical_temp`(臨界溫度)
資料來源:Kaggle.https://www.kaggle.com/datasets/munumbutt/superconductor-dataset [9]
step1:檢查遺失值。
📍檢查後無遺失值
step2:資料分割。
📍使用twinning將資料以 8:2 比例分割訓練集和測試集
step3:進行特徵工程。
📍特徵轉換:
📌sqrt
📌log
📌PCA
📌Yeo-Johnson Transformation (能處理負值,使特徵接近常態分佈)
📌Quantile Transform (使特徵接近均勻或常態分佈)
📍StandardScaler標準化
📍使用ElasticNet搭配optuna進行篩選
📍篩選完後特徵數量:86
step4:使用 Optuna 超參數調優,並且使用最佳超參數訓練基礎模型。
📍定義基礎模型列表,包含:
📌XGBoost
📌CatBoost
📌Random Forest
📌Gradient Boosting
📌Histogram-based Gradient Boosting
📌Support Vector Regression
📌Decision Tree
📌Bayesian Ridge
📌Linear Regression
step5:訓練模型。
📍Stacking
📍Covariate Dependent Stacking (CDST)
📍Optimal Linear Stacked Generalization with Bias Reduction and Covariation Modification
(OPEC-Stacking)
step6:進行模型評估。
📍計算每個基礎模型以及集成模型的訓練集和測試集 RMSE
📍根據測試集 RMSE 對模型進行排序
📍繪製陡坡圖 (steep curve) 比較不同模型的表現
step7:結果可視化。
📍生成顯示所有模型訓練集和測試集 RMSE 的圖表
所有模型 RMSE 結果:
模型:XGBoost Regressor
測試集 RMSE: 10.0897
訓練集 RMSE: 6.9225
模型: CatBoost Regressor
測試集 RMSE: 9.9981
訓練集 RMSE: 6.4849
模型: Random Forest Regressor
測試集 RMSE: 10.8752
訓練集 RMSE: 8.3043
模型: Gradient Boosting Regressor
測試集 RMSE: 11.5455
訓練集 RMSE: 9.7274
模型: Histogram-based Gradient Boosting Regressor
測試集 RMSE: 10.6771
訓練集 RMSE: 8.2401
模型:Support Vector Regression(SVR)
測試集 RMSE: 10.4001
訓練集 RMSE: 7.9024
模型: Decision Tree Regressor
測試集 RMSE: 11.5785
訓練集 RMSE: 9.1505
模型: Bayesian Ridge
測試集 RMSE: 11.7984
訓練集 RMSE: 10.2983
模型: Linear Regression Regressor
測試集 RMSE: 11.8094
訓練集 RMSE: 10.2728
模型: Stacking
測試集 RMSE: 10.6128
訓練集 RMSE: 8.44368
模型: CDST
測試集 RMSE: 10.1161
訓練集 RMSE: 8.69076
模型: OPEC-Stacking
測試集 RMSE: 9.9552
訓練集 RMSE: 7.0681
從上圖中可以看出:
模型性能排名:整體來看,左側的模型(如CatBoost、XGBoost、OPEC_4m )表現最好,RMSE值最低;而右側的模型(Bayesian Ridge、Linear Regression、Decision Tree)表現較為差。
集成學習優勢:OPEC 系列的集成方法(如 OPEC_4m、OPEC、Stacking_4m 等)在訓練和測試集上 RMSE 均維持在 6~8 左右,展現了強大的預測能力 。
個別模型表現:
CatBoost、XGBoost表現最好
HistGB、Random Forest(RF)、Bayesian Ridge(BR) 有一定準確度,但不如前幾者穩定
Gradient Boosting(GB)與 Bayesian Ridge(BR)、Linear Regression(LR)、Decision Tree(DT) RMSE 偏高
訓練集與測試集差異:部分模型(如 Decision Tree、GB、Stacking)出現訓練與測試 RMSE 差距偏大的情況,顯示可能有過擬合現象。 相對地,OPEC 系列、CatBoost 等模型表現穩定,訓練與測試誤差接近
選擇建議:整體表現最佳的是 OPEC 系列,其次則為 Stacking 方法 。應避免使用Linear Regression and Bayesian Ridge,其誤差明顯高於其他模型,預測效果不佳。
參數調優方向:可進一步針對表現優秀的模型(如 XGBoost、CatBoost)進行超參數調整與優化。
本次模型評估結果顯示,集成方法(特別是 OPEC 與 Stacking)在預測準確性上表現最為優異,且具良好表現,建議優先採用。部分單一模型如 CatBoost 同樣具備穩定且出色的表現,適合作為高效替代方案。
另一方面,Linear Regression and Bayesian Ridge 模型則因誤差項較大,建議不予採用。後續可針對表現佳的模型進行進一步參數優化,以提升預測效能。
我們篩選了 4 個結果最佳的基礎模型,重新對 3 個集成模型進行訓練:
CatBoost Regressor
XGBRegressor
Support Vector Regression
HistGradientBoosting Regressor
模型: Stacking
測試集 RMSE: 10.1466
訓練集 RMSE: 7.4035
模型: CDST
測試集 RMSE: 10.1426
訓練集 RMSE: 8.8570
模型: OPEC-Stacking
測試集 RMSE: 9.9551
訓練集 RMSE: 7.0681
從上圖中可以看出:
三種模型選擇策略比較:圖表比較了三種模型選擇策略 - Stacking_Select、OPEC_Select 和 CDST_Select 的性能表現。
訓練集與測試集差異:
OPEC_Select:訓練集 RMSE 最低(約 7.0681),測試集亦佳(約 9.9551),整體表現最佳。
Stacking_Select:測試集 RMSE 最低(約 10.1466),但訓練集 RMSE 較高(約 7.4935)。
CDST_Select:訓練集 RMSE 最高(約 8.8370),測試集表現亦最差(約 10.1426)。
泛化能力分析:
Stacking_Select 在測試集表現最佳,代表泛化能力最強。
OPEC_Select 訓練集表現突出,但測試集略有下降,可能存在輕微過擬合。
CDST_Select 表現相對均衡但無突出,泛化能力普通。
訓練穩定性:
OPEC_Select 在訓練集表現穩定、誤差低,顯示擬合能力強。
Stacking_Select 訓練集與測試集 RMSE 差距較小,顯示模型訓練穩定。
CDST_Select RMSE 整體偏高,穩定性略遜。
模型選擇建議:
若優先考慮測試集性能,推薦使用 Stacking_Select。
若需平衡訓練與測試集表現,OPEC_Select 較為合適。
若需求為穩定中等表現或模型穩定性高,可選擇 CDST_Select。
結論:整體而言,Stacking_Select 在預測未知資料方面表現最佳;OPEC_Select 在訓練數據擬合上表現出色;CDST_Select 則適用於對訓練與測試 RMSE 平衡要求較高的應用場景。實際應用應視不同任務需求選擇適合的模型選擇策略,以提升模型效能與穩定性。