在scikit-learn的数据集生成器中,make_regression是一个非常好的用于回归分析的数据生成器,我们用它来演示K最近邻算法在回归分析中的表现。首先我们还是来生成数据集
为了方便画图,我们选择样本的特征数量仅为一个,同时为了增加难度,我们添加方差为50的noise,运行代码得到图像
从上图我们可以看到,横轴代表的是样本特征数值,范围在-3到3之间,纵轴代表的是样本的测定值,范围在-250到250之间。下面我们用K最近邻算法来进行回归分析,输入代码如下
运行代码,图像如下
上图黑色曲线代表的就是K最近邻算法拟合make_regression生成的数据所进行的模型,直观来看,模型的拟合程度不是很好,大量数据点都未被模型覆盖。我们尝试给模型评分,输入代码
模型得分只有0.77,为了提高模型分数,我们将K最近邻算法的近邻数进行调整。我们尝试将默认为5的n_neighbors数量减少。
再次运行代码
可以看出,黑色曲线更加积极地覆盖更多的数据点,也就是说,模型变得更复杂了,我们再来看看评分
显然的 模型评分显著提高。