Я хотел бы обучить голосующего классификатора в SciKit-Learn с тремя различными классификаторами.У меня возникли проблемы с последним этапом - печатью итоговых показателей точности классификаторов.
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import VotingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
import pandas as pd
import numpy as np
log_clf=LogisticRegression()
rnd_clf=RandomForestClassifier()
svm_clf=SVC()
voting_clf=VotingClassifier(estimators=[('lr',log_clf),('rf',rnd_clf),('svc',svm_clf)],voting='hard')
voting_clf.fit(X_train, y_train)
Я получаю ошибки, когда запускаю следующий код:
for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
clf.fit(X_train, y_train)
y_predict=clf.predict(X_test)
print(clf._class_._name_,accuracy_score(y_test,y_pred))
Когда я запускаю этот кусок кода, я получаю следующее:
AttributeError: 'LogisticRegression' object has no attribute '_class_'
Я предполагаю, что вызов ' class ' немного устарел, поэтому я изменил класс на 'classes _':
for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
clf.fit(X_train, y_train)
y_pred=clf.predict(X_test)
print(clf.classes_._name_,accuracy_score(y_test,y_pred))
Когда я запускаю этот кусок кода, я получаю следующее:
AttributeError: 'numpy.ndarray' object has no attribute '_name_'
Когда я удаляю ' имя ' и запускаю следующий код, я все равно получаю сообщение об ошибке:
for clf in (log_clf, rnd_clf, svm_clf, voting_clf):
clf.fit(X_train, y_train)
y_pred=clf.predict(X_test)
print(clf.classes_,accuracy_score(y_test,y_pred))
Ошибка:
NameError: name 'accuracy_score' is not defined
Я не уверен, почему не определено precision_score, если импортировать библиотеку