Erzeugung einer Verwirrungsmatrix mit Cross_validat
Posted: 09 Feb 2025, 11:56
Ich versuche herauszufinden, wie man eine Verwirrungsmatrix mit Cross_validat erzeugt. Ich kann die Bewertungen mit dem Code ausdrucken, den ich bisher habe. < /P>
# Instantiating model
model = DecisionTreeClassifier()
#Scores
scoring = {'accuracy' : make_scorer(accuracy_score),
'precision' : make_scorer(precision_score),
'recall' : make_scorer(recall_score),
'f1_score' : make_scorer(f1_score)}
# 10-fold cross validation
scores = cross_validate(model, X, y, cv=10, scoring=scoring)
print("Accuracy (Testing): %0.2f (+/- %0.2f)" % (scores['test_accuracy'].mean(), scores['test_accuracy'].std() * 2))
print("Precision (Testing): %0.2f (+/- %0.2f)" % (scores['test_precision'].mean(), scores['test_precision'].std() * 2))
print("Recall (Testing): %0.2f (+/- %0.2f)" % (scores['test_recall'].mean(), scores['test_recall'].std() * 2))
print("F1-Score (Testing): %0.2f (+/- %0.2f)" % (scores['test_f1_score'].mean(), scores['test_f1_score'].std() * 2))
< /code>
Aber ich versuche, diese Daten in eine Verwirrungsmatrix zu bringen. Ich kann eine Verwirrungsmatrix erstellen, indem ich Cross_val_Predict -< /p>
verwendey_train_pred = cross_val_predict(model, X, y, cv=10)
confusion_matrix(y, y_train_pred)
< /code>
Was ist großartig, aber da es seine eigene Kreuzvalidierung erbringt, stimmen die Ergebnisse nicht überein. Ich suche nur nach einer Möglichkeit, beide mit passenden Ergebnissen zu produzieren.
# Instantiating model
model = DecisionTreeClassifier()
#Scores
scoring = {'accuracy' : make_scorer(accuracy_score),
'precision' : make_scorer(precision_score),
'recall' : make_scorer(recall_score),
'f1_score' : make_scorer(f1_score)}
# 10-fold cross validation
scores = cross_validate(model, X, y, cv=10, scoring=scoring)
print("Accuracy (Testing): %0.2f (+/- %0.2f)" % (scores['test_accuracy'].mean(), scores['test_accuracy'].std() * 2))
print("Precision (Testing): %0.2f (+/- %0.2f)" % (scores['test_precision'].mean(), scores['test_precision'].std() * 2))
print("Recall (Testing): %0.2f (+/- %0.2f)" % (scores['test_recall'].mean(), scores['test_recall'].std() * 2))
print("F1-Score (Testing): %0.2f (+/- %0.2f)" % (scores['test_f1_score'].mean(), scores['test_f1_score'].std() * 2))
< /code>
Aber ich versuche, diese Daten in eine Verwirrungsmatrix zu bringen. Ich kann eine Verwirrungsmatrix erstellen, indem ich Cross_val_Predict -< /p>
verwendey_train_pred = cross_val_predict(model, X, y, cv=10)
confusion_matrix(y, y_train_pred)
< /code>
Was ist großartig, aber da es seine eigene Kreuzvalidierung erbringt, stimmen die Ergebnisse nicht überein. Ich suche nur nach einer Möglichkeit, beide mit passenden Ergebnissen zu produzieren.