1. 代码
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import make_regression
X, y = make_regression(n_features=1,n_informative=1,noise=50,random_state=8)
plt.scatter(X,y,c='orange',edgecolor='k')
plt.show()#图1
from sklearn.neighbors import KNeighborsRegressor
#基于k近邻的回归,通过对训练集中与最近邻相关的目标进行局部插值,对目标进行预测。
reg = KNeighborsRegressor()
#以X为训练数据,y为目标值拟合模型
reg.fit(X,y)
z = np.linspace(-3,3,200).reshape(-1,1)
plt.scatter(X,y,c='orange',edgecolor='k')
plt.plot(z, reg.predict(z),c='k',linewidth=3)
plt.title('KNN Regressor')
plt.show()#图2
print('模型评分:{:.2f}'.format(reg.score(X,y)))
reg2 = KNeighborsRegressor(n_neighbors=2)
reg2.fit(X,y)
plt.scatter(X,y,c='orange',edgecolor='k')
plt.plot(z, reg2.predict(z),c='k',linewidth=3)
plt.title('KNN Regressor: n_neighbors=2'