2018-08-21 k近邻回归学习

前几天学了K近邻的分类问题,这几天开始学习K近邻的回归问题。


先通过简单的三组图对比,K分别取1,3,5时的预测结果

K=1

mglearn.plots.plot_knn_regression(n_neighbors=1)

输出结果:


K=3

mglearn.plots.plot_knn_regression(n_neighbors=3)

输出结果:


image.png

K=5

mglearn.plots.plot_knn_regression(n_neighbors=5)

输出结果:


image.png

与分类问题的K近邻算法类似,回归问题的K近邻,也是通过选择测试值附近的K个数据的平均值作为预测值。

KNeighborsRegressor

接下来详细看看scikit-learn中实现的回归KNN算法吧,与之前看的KNeighborsClassifier类似的。

from sklearn.neighbors import KNeighborsRegressor

X,y= mglearn.datasets.make_wave(n_samples=40)
Xtrain,Xtest,ytrain,ytest=train_test_split(X,y,random_state=0)
reg=KNeighborsRegressor(n_neighbors=3)
reg.fit(Xtrain,ytrain)

print("test result is :\n{}".format(reg.predict(Xtest)))
print("test R^2 is {:.2f}".format(reg.score(Xtest,ytest)))

输出结果:
test result is :
[-0.05396539 0.35686046 1.13671923 -1.89415682 -1.13881398 -1.63113382
0.35686046 0.91241374 -0.44680446 -1.13881398]

test R^2 is 0.83

  • 在回归问题中,使用R平方来度量准确性,0.83则相对拟合效果较好。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容