KNN回歸分析 機器學習演算法一KNN3

2021-09-25 03:18:01 字數 1518 閱讀 6667

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...