當試圖使用功能選擇數據集進行預測時遇到的一個問題是,一旦選擇了某些功能,如果要預測測試數據集,測試數據集功能將不會對齊因爲訓練數據集由於特徵選擇而具有較少的特徵。如何正確地實現特徵選擇,使測試數據集與訓練數據集具有相同的特徵?實現功能選擇
例子:
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
iris = load_iris()
X, y = iris.data, iris.target
X.shape
(150, 4)
X_new = SelectKBest(chi2, k=2).fit_transform(X, y)
X_new.shape
(150, 2)
你必須'transform'您的測試設置過......而*不*使用'fit_transform',只是'transform'。 –
@ juanpa.arrivillaga我唯一擔心的是在測試數據集上實現特徵選擇時,是否有可能從訓練數據集中獲得不同的特徵集? – user
你*不*功能選擇測試數據的原因。 –