本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍使用sklearn实现多元线性回归和kNN回归。
使用sklearn实现多元线性回归
从上面看到的系数和截距和前面得到的结果不一致,这是因为在前面使用sklearn封装好的train_test_split函数下进行测试数据集的分割在算法上和我们自己实现的train_test_split函数稍有不同。这就导致上一小节使用我们自己封装的train_test_split和sklearn提供的train_test_split得到的训练集和测试集会有不同。 下面使用我们自己封装的train_test_split函数,得到的结果和前一小节一致:
使用kNN算法解决回归问题
前面提到使用kNN算法可以解决回归问题,下面使用sklearn中封装好的KNeighborsRegressor类来解决回归问题。
注意:
前面有一点需要注意的就是在使用网格搜索时候调用的best_score_得到的R2值是通过交叉验证得到的,因此会比我们自己计算score的值要小,此时如果不需要使用交叉验证计算的score值。只需要:
- 网格搜索对象的best_estimator_得到通过网格搜索得到最好的模型;
- 调用返回最好模型的score函数得到不使用交叉验证得到的score值。