机器学习入门KNN近邻算法(一) (5)
5 KNN用于回归
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsRegressor
%matplotlib inline
x = np.linspace(0,2*np.pi,40)
y = np.sin(x)
plt.scatter(x,y)
plt.xlabel('feature')
plt.ylabel('target')
# 随机数种子,用于固定随机数
np.random.seed(2)
noise = np.random.random(size=20) - 0.5
y[::2] += noise
plt.scatter(x,y)
# 生成knn回归模型
# n_neighbors 就是距离预测样本最近的点的个数
knn = KNeighborsRegressor(n_neighbors=19)
knn.fit(x.reshape(-1,1),y)
# 获取预测样本集
# 预测数据的形状应该和训练数据的形状一致(不要求数量一致,要求特征一致)
X_test = np.linspace(0,2*np.pi,100).reshape(-1,1)
y_ = knn.predict(X_test)
plt.plot(X_test,y_,color='orange',label='predict')
plt.scatter(x,y,color='blue',label='true-data')
plt.legend()
内容版权声明:除非注明,否则皆为本站原创文章。