【发布时间】:2015-11-25 12:23:41
【问题描述】:
fit_transform 函数有问题。有人可以解释为什么数组的大小不同吗?
In [5]: X.shape, test.shape
Out[5]: ((1000, 1932), (1000, 1932))
In [6]: from sklearn.feature_selection import VarianceThreshold
sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
features = sel.fit_transform(X)
features_test = sel.fit_transform(test)
In [7]: features.shape, features_test.shape
Out[7]:((1000, 1663), (1000, 1665))
UPD:哪种转换可以帮助我获得相同大小的数组?
【问题讨论】:
-
对于测试集,您不应该应用 fit_transform()。您的代码应该是 features_test = sel.transform(test) 正如您已经弄清楚的那样。为什么? stackoverflow.com/a/63912149/5114585 回答了应用 fit_transform() 或 transform() 的“为什么”部分
标签: python scikit-learn