KNN演算法迴歸
阿新 • • 發佈:2018-11-20
1.Sklearn框架KNN演算法迴歸篇
# 導包
from sklearn.neighbors import KNeighborsRegressor
import numpy as np
import matplotlib.pyplot as plt
# 生成樣本資料
x=np.linspace(-np.pi,np.pi,40)
# display(x)
y=np.sin(x)
display(y)
plt.scatter(x,y)
資料展示結果圖:
增加噪音資料
# 增加噪音資料 [0,1) [-0.5,0.5) noise=np.random.random(size=20)-0.5 # noise # 將y中的40個值每隔一個數值加上噪音資料,也就是讓奇數位隨機的在-0.5到0.5之間浮動 y[::2]+=noise plt.scatter(x,y)
增加噪音資料後圖形化
訓練預測
# 生成測試資料 x_train=x.reshape(-1,1) y_train=y display(x_train,y) # 構建KNN物件 訓練資料 knn=KNeighborsRegressor(n_neighbors=7) knn.fit(x_train,y_train) # 測試資料 x_test=np.linspace(-np.pi,np.pi,100).reshape(-1,1) x_test # 開始預測 y_=knn.predict(x_test) plt.plot(x_test,y_,color="red") plt.scatter(x_train,y_train,color="green") # 欠擬合 過擬合