Classification
不平衡數據、SMOTE 和特徵選擇
我正在嘗試從相對較大的醫療數據集(1 - 疾病,0 - 無疾病)中構建二元分類器。該數據集包含大約 500 名患者,其中 9% 患有該疾病,以及大約 70 個特徵(預測變量)。我想試一試:
- 特徵選擇——減少特徵數量
- SMOTE 用於平衡訓練數據集。
- 應用分類器
- 應用交叉驗證
哪個是最好的分步方法?
特別是我對何時使用特徵選擇感到兩難?如果我在 SMOTE 之前使用它,選擇的功能可能會有偏差?但是之前應用它,我有一個不平衡的數據問題。
另外,什麼時候進行交叉驗證合適?
本文認為在 SMOTE(Synthetic Minority Oversampling TEchnique)之前進行特徵選擇是首選,並且至少:
… 在使用 SMOTE 後執行變量選擇時應小心謹慎,因為大多數變量選擇方法都假定樣本是獨立的。
使用 SMOTE 對少數類進行過採樣違反了獨立性假設。
對於您的應用程序,尚不清楚 SMOTE 是否會比 LASSO 或嶺回歸等標準懲罰方法提供任何優勢。此外,請注意將“靈敏度、準確度、精確度、召回率和 F1 分數”作為優化目標。它們隱藏了關於兩種錯誤分類的相對成本的隱含假設。通常最好先為概率開發一個可靠的模型,然後(如果需要分類)考慮相對成本和收益。
交叉驗證當然可以用於您的特徵選擇過程,例如選擇 LASSO 的懲罰值(以及因此維護的特徵數量)。請注意,任何算法選擇的特定特徵都可能因樣本而異,您應該在繼續進行時考慮該問題。
驗證模型開發的整個過程,包括特徵選擇過程,也可以通過交叉驗證來完成,或者更好的是,在數據的多個引導樣本上重複該過程。