Я пытаюсь использовать 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)