#美國波士頓地區房價描述
from sklearn.datasets import load_boston
boston=load_boston()
print(boston.descr)
#資料分割
from sklearn.cross_validation import train_test_split
import numpy as np
x=boston.data
y=boston.target
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25,random_state=33)
#分析回歸目標值的差異
print('最大值:',np.max(boston.target))
print('最小值:',np.min(boston.target))
print('平均值:',np.mean(boston.target))
#發現目標房價之間的差異較大,需要對特徵和目標值進行標準化處理
from sklearn.preprocessing import standardscaler
ss_x=standardscaler()
ss_y=standardscaler()
x_train=ss_x.fit_transform(x_train)
x_test=ss_x.transform(x_test)
y_train=ss_y.fit_transform(y_train.reshape(-1,1))
y_test=ss_y.transform(y_test.reshape(-1,1))
#k近鄰回歸器
from sklearn.neighbors import kneighborsregressor
#初始化k近鄰回歸器,並且調整配置,使得**的方式為平均回歸
uni_knr=kneighborsregressor(weights='uniform')
uni_knr.fit(x_train,y_train)
uni_knr_y_predict=uni_knr.predict(x_test)
#初始化k近鄰回歸器,並且調整配置,使得**的方式為根據距離,加權回歸
dis_knr=kneighborsregressor(weights='distance')
dis_knr.fit(x_train,y_train)
dis_knr_y_predict=dis_knr.predict(x_test)
#對不同配置的模型的**進行**效能評估
print('uni_knr 模型自帶評分機制:',uni_knr.score(x_test,y_test))
print('r方:',r2_score(ss_y.inverse_transform(y_test),ss_y.inverse_transform(uni_knr_y_predict)))
print('均方誤差mse:',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(uni_knr_y_predict)))
print('平均絕對誤差mae:',mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(uni_knr_y_predict)))
print('dis_knr 模型自帶評分機制:',dis_knr.score(x_test,y_test))
print('r方:',r2_score(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dis_knr_y_predict)))
print('均方誤差mse:',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dis_knr_y_predict)))
print('平均絕對誤差mae:',mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(dis_knr_y_predict)))
k 近鄰演算法
此文章參考機器學習實戰一書,具體的理論知識可以參考該書。本文的初衷只是為了做乙個複習,將學過的知識加以整理,其中不免有一定的錯誤。2.k 近鄰演算法的原理介紹 k 近鄰演算法通過測量不同的特徵值之間的距離進行分類。它的工作原理如下 存在乙個樣本的資料集合,也成為訓練樣本集合。並且樣本集中的每個資料都...
走進K近鄰
k最近鄰 k nearest neighbour,knn 分類演算法的思路是 如果乙個樣本在特徵空間中的k個最相似 即特徵空間中最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。k近鄰演算法的想法很簡單,類似於多數表決,關鍵點是參與多數表決的人是離你最近的k個人。給定乙個例項,首先從訓...
K 近鄰演算法
k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類。優點 精度高 對異常值不敏感 無資料輸入假定 缺點 計算複雜度高 空間複雜度高 適用資料範圍 數值型和標稱型 工作原理 存在乙個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入...