我有一個數據集建立一個classificator:如何使用sklearn獲取無用功能列表?
dataset = pd.read_csv(sys.argv[1], decimal=",",delimiter=";", encoding='cp1251')
X=dataset.ix[:, dataset.columns != 'class']
Y=dataset['class']
我想只選擇重要的功能,所以我做的:
clf=svm.SVC(probability=True, gamma=0.017, C=5, coef0=0.00001, kernel='linear', class_weight='balanced')
model = SelectFromModel(clf, prefit=True)
X_train, X_test, Y_train, Y_test = cross_validation.train_test_split(X, Y, test_size=0.5, random_state=5)
y_pred=clf.fit(X_train, Y_train).predict(X_test)
X_new = model.transform(X)
所以X_new的形狀3000x72而X有3000x130。我想獲得X_new中沒有的功能列表。我該怎麼做?
X是一個帶有標題的數據框,但X_new是一個列表,其中包含沒有任何名稱的特徵值的列表,因此我無法像在熊貓中那樣合併它。 謝謝你的幫助!
請問您能否提供一個例子,只需要幾行'X_new'和'X'的外觀以及它的輸出是什麼? –