2016-12-11 42 views
1

我使用ExtraTreesClassifier和SelectFromModel在加載爲DataFrame的數據集中執行了特徵選擇,但是我想將這些選定的特徵作爲DataFrame保存到csv文件,同時保留列名稱。 注意,輸出爲numpy的陣列回報的重要功能全列不列頭是否有從SelectFromModel方法輸出選定的列名稱?

import pandas as pd 
from sklearn.ensemble import ExtraTreesClassifier 
from sklearn.feature_selection import SelectFromModel 
import numpy as np 


df = pd.read_csv('los_10_one_encoder.csv') 
y = df['LOS'] # target 
X= df.drop('LOS',axis=1) # drop LOS column 
clf = ExtraTreesClassifier() 
clf = clf.fit(X, y) 
print clf.feature_importances_ 

model = SelectFromModel(clf, prefit=True) 
X_new = model.transform(X) 

回答

5
model = SelectFromModel(clf, prefit=True) 
feature_idx = model.get_support() 
feature_name = df.columns[feature_idx] 
0

使用方法DataFrame.to_csv()到您的數據幀保存爲csv文件。

執行以下操作:

X_new.to_csv("your/path", sep=';') 

Here是該方法的文檔的鏈接。

+0

我做到了,但X_new是numpy數組 – kero

+0

然後將其轉換爲Dataframe。 'X_new = pd.DataFrame(X_new)' – MMF

+0

我意識到這一點,但我想有列名稱以及如果性別列已被選爲重要功能比我想性別列標題打印以及我知道哪些列是哪個 – kero

相關問題