【发布时间】:2018-06-09 15:14:03
【问题描述】:
我担心我的预测 vs 测试的准确性,这完全有道理。
X_train , X_test, y_train ,y_test =train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train ,y_train)
y_pred= knn.predict(X_test)
accuracy_score(y_pred,y_test) # 97 % accuracy here I get accuracy score for pred/test
我用 knn.score 尝试了同样的事情,这里的 catch 文档说 返回给定测试数据和标签的平均准确度。
knn.score(X_test,y_test) # 97% accuracy
我的问题是为什么有人应该关心这个分数,因为 X_test ,y_test 是我分成训练/测试的数据——这是我用于监督学习的给定数据,在这里获得分数有什么意义.我是否完全错过了什么如果我检查分数它应该给我 100% 正确
【问题讨论】:
-
变量 X_new 和 y_pred 未在您的代码中定义。你能解决这个问题吗?
-
那是个错误,我更新了,谢谢
-
谢谢,我就是这么想的。那么下面是否回答了您的问题?
-
感谢您的帮助,我仍然怀疑 score 函数的目的是什么,实际用例是什么
-
我重写了这个(希望)澄清一下,并添加了两个我一直关心这个功能的用例。
标签: machine-learning scikit-learn knn