Machine-Learning

結合 PCA、特徵縮放和交叉驗證,而不會洩露訓練測試數據

  • January 17, 2020

用於交叉驗證的sci-kit 學習文檔說明了以下關於使用特徵縮放和交叉驗證的內容:

正如在訓練中保留的數據上測試預測器很重要一樣,預處理(如標準化、特徵選擇等)和類似的數據轉換同樣應該從訓練集中學習並應用於保留的數據以進行預測

我理解這背後的原因是為了防止交叉驗證期間訓練集和測試集之間的信息洩漏,這可能導致對模型性能的樂觀估計。

我想知道,如果我想在訓練回歸模型之前使用主成分分析來減少特徵集的大小,並且 PCA 需要特徵縮放才能有效,我如何將特徵縮放鏈接到 PCA 以交叉驗證回歸,而不在交叉驗證中的訓練測試拆分之間引入數據洩漏?

您需要將特徵縮放、pca 和回歸模型視為牢不可破的操作鏈(就好像它是單個模型一樣),其中應用了交叉驗證。自己編寫代碼非常棘手,但在sklearnvia中相當容易Pipeline。管道對像是數據上的一系列運算符,被視為(並充當)看似單一的模型,在庫中確認fit和範式。predict

引用自:https://stats.stackexchange.com/questions/445259

comments powered by Disqus