采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
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。二者为什么会不同呢?
谢谢老师!
我在课程中提到过,因为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做预测得到的结果,要更可信:)
在这一小节,主要理解:我们可以使用网格搜索的方式,寻找我们训练模型的最佳超参数,就可以了:)
继续加油!
非常感谢!
老师,抱歉,可能听漏了。 爱死波波老师了 :-)
爱我的话快去给我的课程一个大大的好评去:)嘿嘿嘿
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14