gpt4 book ai didi

machine-learning - KNN 中的 knn.score 和准确率指标有什么区别 - SKlearn

转载 作者:行者123 更新时间:2023-11-30 08:59:01 30 4
gpt4 key购买 nike

我担心我的预测与测试的准确性,这完全有意义。

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% 正确

最佳答案

score 函数只是一个实用函数,用于在 scikit-learn 的某些算法中使用默认指标(主要是 model selection 模块中的算法,例如 GridSearchCVcross_validate ),如果没有指定了其他指标。因此,对于分类来说,这通常是准确度,而对于回归均方误差来说。

所以它是相同的,因为它的作用与您在代码中所做的完全一样:它接受传递的矩阵 X(例如您的情况下的 X_test),调用 predict 并调用 accuracy_score.因此,得分相同也就不足为奇了。事实上,由于 scikit-learn 是开源的,你可以自己检查 here

编辑:

那么这对你有什么影响呢?好吧,您可以类似地在算法中使用它(例如,如果您构建集成),或者只是像上面的示例一样保存一行代码。如果您要构建估计器,则必须考虑什么是合理的默认值。

关于machine-learning - KNN 中的 knn.score 和准确率指标有什么区别 - SKlearn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48018203/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com