k近鄰法 電影分類

2021-10-01 14:27:20 字數 758 閱讀 2299

import math

movie_data =

# 測試樣本 唐人街探案": [23, 3, 17, "?片"]

#下面為求與資料集中所有資料的距離**:

x = [23, 3, 17]

knn =

for key, v in movie_data.items():

d = math.sqrt((x[0] - v[0]) ** 2 + (x[1] - v[1]) ** 2 + (x[2] - v[2]) ** 2)

#輸出所有電影到唐人街探案的距離

print(knn)

#按照距離大小進行遞增排序

knn.sort(key=lambda dis: dis[1]) #list.sort(cmp=none, key=none, reverse=false)

#選取距離最小的k個樣本,這裡取k=5;

knn=knn[:5]

print(knn)

#確定前k個樣本所在類別出現的頻率,並輸出出現頻率最高的類別

labels =

for s in knn:

label = movie_data[s[0]]

labels[label[3]] += 1

labels =sorted(labels.items(),key=lambda l: l[1],reverse=true)

print(labels,labels[0][0],sep='\n')

k近鄰法 kNN分類

模型原型 sklearn.neighbors.kneighborsclassifier n neighbors 5,weights uniform algorithm auto leaf size 30,p 2,metric minkowski metric params none,n jobs 1...

機器學習 k近鄰演算法(分類電影)

案例 利用k近鄰演算法判斷電影類別。假設有如下資料,判斷新電影 打鬥鏡頭24,接吻鏡頭67 應該屬於愛情片還是動作片。繪製圖表如下 k 近鄰演算法步驟如下 1 計算已知類別資料集中的點與當前點之間的距離 2 按照距離遞增次序排序 3 選取與當前點距離最小的k個點 4 確定前k個點所在類別的出現頻率 ...

K近鄰分類

k 近鄰 待會介紹 的一種極端情況。近朱者赤,近墨者黑 def distance p0,p1 computes squared euclidean distance return np.sqrt np.sum p0 p1 2 defnn classify training set,training ...