我想删除数据数组中方差较低的特性。通过使用scikit-learn,代码如下所示。
>>> from sklearn.feature_selection import VarianceThreshold
>>> X = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]
>>> selector = VarianceThreshold()
>>> selector.fit_transform(X)
array([[2, 0],
[1, 4],
[1, 1]])
我的问题是如何捕获已删除的列索引?假设我想使用它们来删除同一列中的另一个数组(上例中的第0列和第3列)。知道吗?
selector.get_support()
将返回一个数组,该数组显示哪些列被保留,哪些列被删除。在上述情况下:
selector.get_support()
将返回
array([False, True, True, False], dtype=bool)
这意味着原始输入(X)的第一个和最后一个索引被去除。