注釋在**
# 準備資料
import numpy as np
import pandas as pd
# 根據非同步鏡片打鬥鏡頭數量和接吻鏡頭數量進行劃分影片型別
datas = np.array([[
80,10]
,[15,
60],[
76,18]
,[19,
62],[
90,5]
,[13,
50]])
labels = np.array(
["動作片"
,"愛情片"
,"動作片"
,"愛情片"
,"動作片"
,"愛情片"])
# 建立標籤,和上面一一對應
# **新的樣本所屬分類
sample = np.array([30
,30])
# 將已知的資料轉換為pandas,並賦予相應的標籤
df = pd.dataframe(datas)
df["labels"
]= labels
# 計算樣本到所有已知樣本的距離
df["distance"
]= np.linalg.norm(sample - datas, axis=1)
# 對距離進行排序
result = df.sort_values(by=
"distance"
)# 取出距離sample(待分類樣本)最近的前k個(此處k=3)
result = result[:3
]# 統計前k個中標籤最多的類別(超過一半)
print
("樣本被分到類別為:"
, result[
"labels"
].value_counts(
).idxmax(
))
KNN近鄰演算法
knn近鄰演算法的核心思想 近朱者赤近墨者黑,誰離我近就是誰 分析過程 給乙個新資料,找距離新資料最近的前k個資料 找到k個資料中出現類別次數最多的那乙個 將新資料劃分為該類別 開發流程 載入資料 歸一化資料 對資料預處理 計算距離,並分類 測試程式 knn實現 from collections i...
k近鄰演算法(kNN) 簡單粗暴
這是乙個簡單粗暴的分類器 classifier 演算法,分類效果不錯,但是對於異常值不敏感,而且演算法的複雜度高,每次計算都要遍歷整個訓練集 training data set 效率不高.knn演算法的思想就是把整個訓練集在依照特徵值座標軸標定後,把測試量標定到特徵值空間後,計算測試量與所有訓練資料...
K NN演算法(K 近鄰演算法)
k nn 演算法是一種分類演算法。所謂 k近鄰演算法,即是 給定乙個 訓練資料集,對新的 輸入例項,在 訓練資料集中找到與 該例項最鄰近的 k個例項 也就是k個 鄰居 這k 個例項的多數屬於某個 類,就把該輸入 例項分類到 這個類中。例如 如果k 3,綠 色圓點的最近的3個 鄰居是2個 紅色小三角形...