请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于准确率

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做预测得到的结果,要更可信:)


在这一小节,主要理解:我们可以使用网格搜索的方式,寻找我们训练模型的最佳超参数,就可以了:)


继续加油!


3 回复 有任何疑惑可以回复我~
  • 提问者 ALGO_cui #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-12-28 18:01:44
  • 提问者 ALGO_cui #2
    老师,抱歉,可能听漏了。
    爱死波波老师了 :-)
    回复 有任何疑惑可以回复我~ 2017-12-28 18:04:07
  • liuyubobobo 回复 提问者 ALGO_cui #3
    爱我的话快去给我的课程一个大大的好评去:)嘿嘿嘿
    回复 有任何疑惑可以回复我~ 2017-12-28 18:36:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信