2016-05-02 22 views
1

私のデータの配列に分散が少ないフィーチャを削除したいと考えています。 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番目の列)の別の配列を削除するためにそれらを使用したいとしましょう。

答えて

1

selector.get_support()は、どの列が保持され、どの列が削除されるかを示す配列を返します。上記の場合:

selector.get_support() 

が削除され、元の入力(X)の最初と最後のインデックスを意味

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

を返します。

関連する問題