【发布时间】:2018-04-25 18:12:43
【问题描述】:
我使用 sklearn 应用具有 K-fold 的决策树,有人可以帮助我显示它的平均分数。以下是我的代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import KFold
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import confusion_matrix,classification_report
dta=pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/blood-transfusion/transfusion.data")
X=dta.drop("whether he/she donated blood in March 2007",axis=1)
X=X.values # convert dataframe to numpy array
y=dta["whether he/she donated blood in March 2007"]
y=y.values # convert dataframe to numpy array
kf = KFold(n_splits=10)
KFold(n_splits=10, random_state=None, shuffle=False)
clf_tree=DecisionTreeClassifier()
for train_index, test_index in kf.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
clf=clf_tree.fit(X_train,y_train)
print("classification_report_tree",
classification_report(y_test,clf_tree.predict(X_test)))
【问题讨论】:
-
average score是什么意思?你只想要准确性吗?或者召回率、精度和 f1(当您打印分类报告时)。 -
我想用 K 折运行决策树并显示整体准确度,k 折为 10 将运行 10 次,每次运行时给我们 10 的准确度。如何显示训练的整体准确性
标签: scikit-learn cross-validation