機器學習 k 近鄰演算法

2021-10-07 19:13:08 字數 1719 閱讀 5678

演算法之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 歐氏...