我想删除数据数组中方差较小的要素。通过使用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列)。 有什么想法吗?
答案 0 :(得分:1)
selector.get_support()
将返回一个数组,该数组显示保留哪些列以及删除哪些列。在上述情况下:
selector.get_support()
将返回
array([False, True, True, False], dtype=bool)
表示原始输入(X)的第一个和最后一个索引被删除。