关于准确率
来源:4-6 网格搜索与k近邻算法中更多超参数
ALGO_cui
2017-12-28
grid_search.fit后 grid_search.best_score_ 为0.98538622129436326,
为什么knn_clf = grid_search.best_estimator_ ,且knn_clf.predict(X_test) knn_clf.score(X_test, y_test) 后的准确率却变成0.98333333333333328。二者为什么会不同呢?
谢谢老师!
写回答
1回答
-
我在课程中提到过,因为grid_search使用的那个score和你调用得到best_estimator_,再去预测X_test得到的score,这两个score计算方式不同。仔细想一想,我们都没有将X_test和y_test给grid_search,grid_search得到的这个score是和X_test, y_test没关系的,肯定和预测X_test得到的score不同:)
至于grid_search的这个score是怎么计算出来的?我们在这个课程的第八章,交叉验证中就会讲到。我们使用的这个类GridSearchCV中的CV,就是交叉验证(Cross Validation)的意思,到那时,相信你就能完全理解grid_search这个score是怎么计算的了:)而且,这个score值,比使用一组X_test做预测得到的结果,要更可信:)
在这一小节,主要理解:我们可以使用网格搜索的方式,寻找我们训练模型的最佳超参数,就可以了:)
继续加油!
3122018-02-04
相似问题