機器學習100天|day1資料預處理
100天搞定機器學習|day2簡單線性回歸分析
100天搞定機器學習|day3多元線性回歸
100天搞定機器學習|day4-6 邏輯回歸
100天搞定機器學習|day7 k-nn
100天搞定機器學習|day8 邏輯回歸的數學原理
100天搞定機器學習|day9-12 支援向量機
day7,我們學習了k最近鄰演算法(k-nn),了解了其定義,如何工作,介紹了集中常用的距離和k值選擇。day11,通過乙個案例實現該演算法。
第一步:匯入相關庫
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
第二步:匯入資料集
dataset = pd.read_csv('../datasets/social_network_ads.csv')
為了方便理解,這裡我們只取age年齡和estimatedsalary估計工資作為特徵
x = dataset.iloc[:, [2, 3]].values
y = dataset.iloc[:, 4].values
第三步:將資料劃分成訓練集和測試集
fromsklearn.model_selectionimport 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)
第五步:使用k-nn對訓練集資料進行訓練
從sklearn的neighbors類中匯入kneighborsclassifier學習器
from sklearn.neighbors import kneighborsclassifier
設定好相關的引數 n_neighbors =5(k值的選擇,預設選擇5)、 metric ='minkowski'(距離度量的選擇,這裡選擇的是閔氏距離(預設引數))、 p = 2 (距離度量metric的附屬引數,只用於閔氏距離和帶權重閔氏距離中p值的選擇,p=1為曼哈頓距離, p=2為歐式距離。預設為2)
classifier = kneighborsclassifier(n_neighbors=5, metric ='minkowski', p =2)
classifier.fit(x_train,y_train)
kneighborsclassifier(algorithm='auto',leaf_size=30, metric='minkowski',
metric_params=none, n_jobs=1,n_neighbors=5, p=2,
weights='uniform')
第六步:對測試集進行**
y_pred = classifier.predict(x_test)
第七步:生成混淆矩陣
混淆矩陣可以對乙個分類器效能進行分析,由此可以計算出許多指標,例如:roc曲線、正確率等
fromsklearn.metricsimport confusion_matrix
cm = confusion_matrix(y_test, y_pred)
print(cm)
[[64 4]
[ 3 29]]
print(classification_report(y_test, y_pred))
**集中的0總共有68個,1總共有32個。 在這個混淆矩陣中,實際有68個0,但k-nn**出有67(64+3)個0,其中有3個實際上是1。 同時k-nn**出有33(4+29)個1,其中4個實際上是0。
提取碼:vl2g
100天搞定機器學習
新增好友麻煩備註 github 100天搞定機器學習 day1資料預處理 100天搞定機器學習 day2簡單線性回歸分析 100天搞定機器學習 day3多元線性回歸 100天搞定機器學習 day4 6 邏輯回歸 100天搞定機器學習 day7 k nn 100天搞定機器學習 day8 邏輯回歸的數學...
100天搞定機器學習 Day7 K NN
機器學習100天 day1資料預處理 100天搞定機器學習 day2簡單線性回歸分析 100天搞定機器學習 day3多元線性回歸 100天搞定機器學習 day4 6 邏輯回歸 最近事情無比之多,換了工作 組隊參加了乙個比賽 和朋友搞了一些小專案,公號荒廢許久。堅持是多麼重要,又是多麼艱難,目前事情都...
機器學習學習筆記 day11
周志華 機器學習 學習筆記 最近開始學習機器學習,參考書籍西瓜書,做點筆記。第十一章 特徵選擇與稀疏學習 11.1 子集搜尋與評價 無關特徵 與訓練任務無關的特徵 冗餘特徵 包含的資訊能從其他特徵中推演出來 子集搜尋 前向 後向 雙向 子集評價 計算子集增益 資訊增益越大意味著特徵自己包含的有助於分...