2017-08-05 12 views
0

フィーチャ選択で変数の名前を定義しようとしています。私はフィーチャ選択で変数の名前を定義する方法

X, y = df.ix[:, 1:], df.ix[:,[0]] 
X_dummy = pd.get_dummies(X) 

そして

from sklearn.feature_selection import SelectKBest 
from sklearn.feature_selection import chi2 
X_new = SelectKBest(chi2, k=4).fit_transform(X_dummy, y) 
X_new 

array([[0, 1, 0, 1], 
     [1, 0, 0, 1], 
     [0, 1, 0, 0], 
     [1, 0, 1, 0], 
     [0, 1, 0, 1], 
     [1, 0, 0, 1], 
     [0, 1, 1, 0], 
     [1, 0, 0, 0], 
     [0, 1, 0, 1], 
     [1, 0, 1, 0]], dtype=uint8) 

この

import pandas as pd 
df = pd.DataFrame ({'a' : [1, 0,1, 0,1, 0,1, 0,1, 0 ], 
      'b' : ['foo', 'bar','foo', 'bar','foo', 'bar','foo', 'bar','foo', 'bar' ] , 
      'c' : ['foo', 'bar','bar','foo','foo', 'bar','bar','foo','foo', 'bar' ], 
       'd' :['d','d','b','a','d','d','a','b','d','a'] }) 

のようなデータセットは、だから私は配列を取得していますが、私はどのような変数を知りたい(bcまたはdまたはそのダミーオプション)モデルで練習しなければならない。これを見つける方法?ありがとう!

答えて

1

あなたはフィットセレクタのscores_属性を使用することができます

>> kbest = SelectKBest(chi2, k=4) 
>> X_new = kbest.fit_transform(X_dummy, y) 
>> X_dummy.columns[kbest.scores_.argsort()[::-1][:4]] 
Index(['b_foo', 'b_bar', 'd_a', 'd_d'], dtype='object') 
関連する問題