生成数据集
from sklearn.datasets import make_regression
import matplotlib.pyplot as plt
# 生成特征数量为1, 噪音为50的数据集
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()

回归分析
from sklearn.datasets import make_regression
from sklearn.neighbors import KNeighborsRegressor
import matplotlib.pyplot as plt
# 生成特征数量为1, 噪音为50的数据集
X, y = make_regression(n_features=1, n_informative=1, noise=50, random_state=8)
# knn 回归分析
reg = KNeighborsRegressor()
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()

模型评分

调低邻居数量
KNN近邻数量默认是5,我们调低为2试试。
from sklearn.datasets import make_regression
from sklearn.neighbors import KNeighborsRegressor
import matplotlib.pyplot as plt
# 生成特征数量为1, 噪音为50的数据集
X, y = make_regression(n_features=1, n_informative=1, noise=50, random_state=8)
# knn 回归分析
reg = KNeighborsRegressor(n_neighbors=2)
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()

分数从0.77提升到了0.86。

![CTF例题:[SWPU2019]Web1(无列名注入)](https://img-blog.csdnimg.cn/direct/e01b57540127493a807b7f868adacb25.png)





![【Linux】-Linux的实用操作:快捷键与软件安装操作、构建软连接、日期时区的设置[4]](https://img-blog.csdnimg.cn/direct/7654e33cac074abc994fff5b95c8fd8d.png)












