Форвард Выбор с SVM и обучение модели с выбранными функциями в Python - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь использовать SVM при прямом выборе и обучать модель выбранным функциям. Я попробовал то же самое, используя Классификатор случайных лесов, и мне интересно, правильный ли метод, которым я следую. Может ли кто-нибудь помочь мне с этим.


clf = RandomForestClassifier(n_estimators=10, n_jobs=-1)
sfs = SFS(clf,
          k_features=15,
          forward=True,
          floating=False,
          verbose=2,
          scoring='accuracy',
          cv=5)

data = pd.read_csv('feature_vector.csv', index_col=0,error_bad_lines=True,warn_bad_lines=True)
X = data.drop("class", axis=1)
y = data['class']
y = preprocessing.LabelEncoder().fit_transform(list(y))
X_train,X_test,y_train,y_test = train_test_split(X,y,train_size=0.8,test_size=0.2)

sfs.fit(X_train,y_train)
print(sfs.k_feature_names_)

X_train_fs = sfs.transform(X_train)
X_test_fs = sfs.transform(X_test)

clf.fit(X_train_fs, y_train)
y_pred = clf.predict(X_test_fs)
print("accuracy ", metrics.accuracy_score(y_test,y_pred)*100)
...