Я взял эту хорошую реализацию от здесь . Все работает. Однако я пытался добавить еще одну метрику к этой реализации. Метрика, которая мне нужна, называется "ification_report " из sklearn.metrics importification_report. Я заблудился, если бы я попытался добавить это в свой цикл for или после того, как я все закончил. Есть идеи?
# prepare configuration for cross validation test harness
seed = 7
# prepare models
models = []
models.append(('Linear Discriminant Analysis', LinearDiscriminantAnalysis()))
models.append(('Ada Boost Classifier', AdaBoostClassifier()))
models.append(('Decision Tree Classifier', DecisionTreeClassifier()))
models.append(('Extra Trees Classifier', ExtraTreesClassifier()))
models.append(('Random Forest Classifier', RandomForestClassifier()))
#models.append(('Decision Tree Classifier (Cart)', DecisionTreeClassifier()))
#models.append(('Linear Support Vector Classification', LinearSVC()))
#models.append(('Nu-Support Vector Classification', NuSVC()))
#models.append(('Support Vector Classification', SVC()))
# evaluate each model in turn
bestresultvalue = 0
bestresultname = 0
results = []
names = []
scoring = 'accuracy'
for name, model in models:
# k=10: The value for k is fixed to 10, a value that has been found through experimentation to generally result in a model skill estimate with low bias a modest variance.
kfold = model_selection.KFold(n_splits=10, random_state=seed)
cv_results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
results.append(cv_results)
names.append(name)
msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())
print(msg)
Код / идея судо:
from sklearn.metrics import classification_report
y_true = Y
y_pred = cv_results
target_names = ['class 0', 'class 1', 'class 2']
print(classification_report(y_true, y_pred, target_names=target_names))