K最近邻算法用于回归分析

本文通过scikit-learn的make_regression函数生成回归数据,展示了K最近邻算法在处理单特征数据时的性能。初始模型评分低,通过调整n_neighbors参数,模型复杂度提升并提高了预测准确性。
摘要由CSDN通过智能技术生成

在scikit-learn的数据集生成器中,make_regression是一个非常好的用于回归分析的数据生成器,我们用它来演示K最近邻算法在回归分析中的表现。首先我们还是来生成数据集44f8c7b914fc46c4910f05ce28796cd7.png

 为了方便画图,我们选择样本的特征数量仅为一个,同时为了增加难度,我们添加方差为50的noise,运行代码得到图像f448c74fc17b4cc7a96d74e2a540316f.png

 从上图我们可以看到,横轴代表的是样本特征数值,范围在-3到3之间,纵轴代表的是样本的测定值,范围在-250到250之间。下面我们用K最近邻算法来进行回归分析,输入代码如下d39266535af5456c94ab9099f12703f4.png

 运行代码,图像如下e956a2cb873f41d6ae712da0896156f1.png

 上图黑色曲线代表的就是K最近邻算法拟合make_regression生成的数据所进行的模型,直观来看,模型的拟合程度不是很好,大量数据点都未被模型覆盖。我们尝试给模型评分,输入代码72df2b3c677e45a7bf4d8736bb4280ba.png

 模型得分只有0.77,为了提高模型分数,我们将K最近邻算法的近邻数进行调整。我们尝试将默认为5的n_neighbors数量减少。

96b38a5170cd41a189181898114accc9.png

 再次运行代码729d9752b45849f69fc415cab1bd6a15.png

 可以看出,黑色曲线更加积极地覆盖更多的数据点,也就是说,模型变得更复杂了,我们再来看看评分5341314d4a494eb98c4e9fbff2bccece.png

 显然的 模型评分显著提高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值