在机器学习模型中,accuracy_score用于测量在训练数据上构建的模型的分类准确度。而cross_val_score用于评估交叉验证上得到的模型性能的平均值。假设你已经分割好了数据集,使用训练集进行模型训练并使用测试集进行测试时,accuracy_score会在这个过程中使用。而cross_val_score会使用交叉验证来训练和评估模型的性能。具体代码如下:
from sklearn import datasets from sklearn import model_selection from sklearn import svm
iris = datasets.load_iris()
X_train, X_test, y_train, y_test = model_selection.train_test_split( iris.data, iris.target, test_size=0.4, random_state=0)
clf = svm.SVC(kernel='linear', C=1, random_state=0).fit(X_train, y_train)
y_pred_acc = clf.predict(X_test) accuracy = metrics.accuracy_score(y_test, y_pred_acc) print("Accuracy score:", accuracy)
scores = model_selection.cross_val_score( clf, iris.data, iris.target, cv=5) print("Cross-validation scores:", scores) print("Mean score:", scores.mean())