knn.score参数说明

在下面的代码(最后一行)中,根据文档使用了X_test和y_test:

  

返回给定的测试数据标签

的平均准确度

问题是,由于X_test具有测试数据中的数据并且y_test具有这些数据的标签,因此将精确计算出什么。

检查预测标签与实际标签比较有意义。

您能告诉我第一种情况在最后一行如何工作吗?

X_train,X_test,y_train,y_test = train_test_split(iris_dataset['data'],iris_dataset['target'],random_state=0)
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train,y_train)
print("Test set score: {:.2f}".format(knn.score(X_test,y_test)))
h402482070 回答:knn.score参数说明

如果您选中docs

Parameters: 

X : array-like,shape = (n_samples,n_features)

    Test samples.
y : array-like,shape = (n_samples) or (n_samples,n_outputs)

    True labels for X.
sample_weight : array-like,shape = [n_samples],optional

    Sample weights.

Returns:    

score : float

    Mean accuracy of self.predict(X) wrt. y.

后面会发生什么? 它的依据是:knn.predict(X_test),然后使用此值来计算knn.predict(X_test),y_test之间的平均准确度。因此,正是您要搜索的内容。

您应该获得与sklearn.metrics.accuracy_score相同的输出:

from sklearn.metrics import accuracy_score
y_predict = knn.predict(X_test)
accuracy_score(y_test,y_predict)
本文链接:https://www.f2er.com/3138448.html

大家都在问