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('模型評分:'.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')
plt.show()#圖3
print('模型評分:'.format(reg2.score(x,y)))
make_regression生成的回歸目標是隨機特徵的隨機稀疏隨機線性組合,帶有雜訊。它的資訊特徵可能是不相關的,或低秩的(少數特徵佔大多數方差)。
sklearn.datasets.make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0, effective_rank=none, tail_strength=0.5, noise=0.0, shuffle=true, coef=false, random_state=none)
機器學習基礎演算法一 KNN演算法回歸實驗
前期資料處理 import numpy as np import pandas as pd 增加 的列數行數和每行的寬度以此讓資料集完整表示 pd.set option display.max rows 500 pd.set option display.max columns 500 pd.set...
機器學習 k 近鄰 kNN 演算法
一 基本原理 存在乙個樣本資料集合 也稱訓練樣本集 並且樣本集中每個資料都存在標籤。輸入沒有標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進行比較,然後演算法提取樣本集中特徵最相似資料 最近鄰 的分類標籤。我們一般只選擇樣本集中前k k通常是不大於20的整數 個最相似的資料,最後選擇k個...
機器學習 k近鄰演算法 kNN
knn演算法通過計算當前測試樣本與離它最近的k個點的距離,進行投票,得到它最有可能的分類結果。首先來看看機器學習演算法的基本流程 由此可見knn演算法的特點 1.k近鄰演算法是非常特殊的,可以認為是沒有模型的演算法。2.為了和其他演算法統一,可以認為訓練資料集就是模型本身。這也是scikit lea...