保留已删除列的索引

Keeping the indexes of deleted column

我想删除数据数组中方差较小的特征。通过使用 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() 将 return 一个数组,显示哪些列被保留,哪些列被删除。在上面的例子中:

selector.get_support()

将return

array([False,  True,  True, False], dtype=bool)

这意味着原始输入 (X) 的第一个和最后一个索引被删除。