【11%】100小時機器學(xué)習(xí)——KNN實驗

總目錄鏈接

前言

本節(jié)進行knn算法的實驗部分。
前情回顧: K近鄰法(K-NN,k-NearestNeighbor)

Step 0:數(shù)據(jù)準(zhǔn)備

Social_Networt_Ads

User ID,Gender,Age,EstimatedSalary,Purchased
15624510,Male,19,19000,0
15810944,Male,35,20000,0
15668575,Female,26,43000,0
15603246,Female,27,57000,0
15804002,Male,19,76000,0
15728773,Male,27,58000,0
15598044,Female,27,84000,0
15694829,Female,32,150000,1
15600575,Male,25,33000,0
15727311,Female,35,65000,0
... ...

Step 1:數(shù)據(jù)集處理

導(dǎo)入相關(guān)庫

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

導(dǎo)入數(shù)據(jù)集

dataset = pd.read_csv('Social_Network_Ads.csv')
X = dataset.iloc[:, [2, 3]].values
y = dataset.iloc[:, 4].values

劃分訓(xùn)練集和測試集

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)

特征縮放

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

Step2:訓(xùn)練預(yù)測

使用K-NN對訓(xùn)練集數(shù)據(jù)進行訓(xùn)練

from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors = 5, metric = 'minkowski', p = 2)
classifier.fit(X_train, y_train)

對測試集進行預(yù)測

y_pred = classifier.predict(X_test)

生成混淆矩陣

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容