Вы можете подойти к проблеме, как показано ниже:
Я предполагаю, что у вас есть наборы train (x_train, y_train) и test (x_test, y_test).
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score
tree_clf1 = DecisionTreeClassifier().fit(x_train, y_train)
y_pred = tree_clf1.predict(x_test)
print(confusion_matrix(y_test, y_pred))
print("\n\nAccuracy:{:,.2f}%".format(accuracy_score(y_test, y_pred)*100))
print("Precision:{:,.2f}%".format(precision_score(y_test, y_pred)*100))
print("Recall:{:,.2f}%".format(recall_score(y_test, y_pred)*100))
print("F1-Score:{:,.2f}%".format(f1_score(y_test, y_pred)*100))
feature_importances = DataFrame(tree_clf1.feature_importances_,
index = x_train.columns,
columns['importance']).sort_values('importance',
ascending=False)
print(feature_importances)
Ниже Пример выходных данных показывает, какие функции важны для вашей классификации.
введите описание изображения здесь