以iris資料集為例,簡單執行下knn的演算法:
#匯入常規要用的包
from sklearn.datasets import load_iris
from sklearn.neighbors import kneighborsclassifier
from sklearn.model_selection import train_test_split
import numpy as np
import pandas as pd
from sklearn.preprocessing import standardscaler
#準備資料集
li=load_iris(
)#劃分資料集
x_train ,x_test,y_train,y_test=train_test_split(li.data,li.target,test_size=
0.25
,random_state=
100)
#特徵工程之標準化
#(特別注意2點:1.如果先標準化再劃分資料集,標準化的過程中,train集已經用到了test集的資訊,這是一定要避免的。
#2.test集直接用transform,不能用fit,用已獲取的train集期望和方差,對以後的資料做統一的標準化)
std=standardscaler(
)x_train=std.fit_transform(x_train)
x_test=std.transform(x_test)
#例項化knn演算法
knn=kneighborsclassifier(n_neighbors=
3,weights=
'distance'
)#隨意加了weights嘗試下
knn.fit(x_train,y_train)
#輸出yhat及準確率
y_predict=knn.predict(x_test)
knn.score(x_test,y_test)
0.9736842105263158
knn分類iris資料
題目 sklearn中的datasets方法匯入iris鳶尾花訓練樣本並用train test split產生測試樣本,用knn分類並輸出分類精度。data sklearn.datasets.iris.data label sklearn.datasets.iris.target 輸出 from s...
Python實現KNN演算法 iris資料集
在本文中,通過python實現knn演算法,而非簡單的呼叫sklearn庫,並通過iris鳶尾花資料集進行訓練和測試。詳情參見以下 if name main trainx,trainy,testx,testy loadsplitdataset prey knn testx evaluateknn 和...
資料分類KNN演算法
監督就是給的樣本都有標籤,分類的訓練樣本必須有標籤,所以分類演算法都是有監督演算法。監督機器學習無非就是 minimize your error while regularizing your parameters 也就是在規則化引數的同時最小化誤差。最小化誤差是為了讓我們的訓練資料,而規則化引數是...