演算法之k-近鄰演算法(knn)
計算公式(又叫歐式距離)
計算a,b兩點的距離:
注意:k-近鄰演算法是需要做標準化處理
sklearn k-近鄰演算法api
sklearn.neighbors.kneighborsclassifier(n_neighbors=5, algorithm=』auto』)
algorithm:
實現乙個簡單的分類
構造資料集(**澳門風雲的電影型別,檔案命名為data.csv)
匯入資料
# 導入庫
import pandas as pd
# 讀取資料
data = pd.read_csv(
'./data.csv'
)
進行資料預處理
from sklearn.preprocessing import labelencoder
label_encoder = labelencoder(
)# 分類別
# label_encoder.fit(['愛情片', '動作片'])
label = label_encoder.fit_transform(data[
'型別'])
print
(label)
# 覆蓋
data[
'型別'
]= label
標準化
y = data[
'型別'
]x = data.drop(
['型別'
,'電影'
], axis=1)
# 進行標準化
from sklearn.preprocessing import standardscaler
std = standardscaler(
)x = std.fit_transform(x)
進行knn演算法訓練
from sklearn.neighbors import kneighborsclassifier
# 進行演算法
knn = kneighborsclassifier(n_neighbors=5)
knn.fit(x, y)
**
# 進行**
test =[[
22,111]
]predict = knn.predict(test)
print
('**結果:'
, predict)
控制台列印
電影 打鬥鏡頭 接吻鏡頭 型別0 功夫瑜伽 121 13 動作片
1 非誠勿擾 21 78 愛情片
2 乘風破浪 1 56 愛情片
3 非常完美 10 99 愛情片
4 東邪西毒 79 11 動作片
5 功夫之王 81 7 動作片
6 天下無賊 69 13 動作片
7 四大名捕 99 23 動作片
[0 1 1 1 0 0 0 0]
**結果: [1]
機器學習 k 近鄰演算法
一.k 近鄰演算法概述 簡單地說,k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類。k 近鄰演算法 knn 它的工作原理是 存在乙個樣本資料集,也稱訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將資料的每個特徵與樣本集合中資...
機器學習 K近鄰演算法
用例一 from sklearn.neighbors import nearestneighbors import numpy as np x np.array 1,1 2,1 3,2 1,1 2,1 3,2 nbrs nearestneighbors n neighbors 2,algorithm...
機器學習 K近鄰演算法
工作原理 存在乙個訓練樣本資料集合,每組資料對應乙個標籤及分類 比如下邊例子為前兩個資料都為a類 輸入測試樣本後通過計算求出測試樣本與訓練樣本的歐氏距離d,取前k個最小的值,這k組資料對應的標籤分類最多的那種,就是測試樣本的標籤。訓練樣本資料 1.0,1.1 1.0,1.0 0,0 0,0.1 歐氏...