K緊鄰演算法

2021-10-01 10:20:28 字數 1609 閱讀 5056

通俗的講: 就是通過你的鄰居來判斷你是那個類別的

通過距離來計算 一般是歐氏距離

sklearn的優勢:

各種距離公式(主要)

歐氏距離 (就是兩點之間的距離)

曼哈頓距離 (兩點之間的實際距離)

切比雪夫距離 (取同一維度距離的最大值)

閔可夫斯基距離(一組距離的定義,對多個距離度量公式的概括性表述)

其中p是乙個變引數:

當p=1時,就是曼哈頓距離;

當p=2時,就是歐氏距離;

當p→∞時,就是切比雪夫距離。

根據p的不同,閔氏距離可以表示某一類/種的距離。

小結:1 閔氏距離,包括曼哈頓距離、歐氏距離和切比雪夫距離都存在明顯的缺點:

e.g. 二維樣本(身高[單位:cm],體重[單位:kg]),現有三個樣本:a(180,50),b(190,50),c(180,60)。

a與b的閔氏距離(無論是曼哈頓距離、歐氏距離或切比雪夫距離)等於a與c的閔氏距離。但實際上身高的10cm並不能和體重的10kg劃等號。

2 閔氏距離的缺點:

(1)將各個分量的量綱(scale),也就是「單位」相同的看待了;

(2)未考慮各個分量的分布(期望,方差等)可能是不同的。

標準化歐式距離(針對歐氏距離的缺點而改進)

既然資料各維分量的分布不一樣,那先將各個分量都「標準化」到均值、方差相等。

sk表示各個維度的標準差

6. 余弦距離(可以衡量樣本的差異 取值[1,-1] -1說明兩個樣本差異最大)

漢明距離(hamming distance):

傑卡德距離(jaccard distance):

馬氏距離(mahalanobis distance)

k值的選擇

就是鄰居的個數選擇

kd樹 資料量大了,我們該如何對我們訓練的資料進行快速的查詢

kd樹中的每個節點都是乙個向量

二叉樹是直接折中 再折中取篩選 kd則是每一次都要選中向量的某一維度來劃分

特徵工程

通過一些轉換函式將特徵資料轉換成更加適合演算法模型的特徵資料過程

特徵預處理

k緊鄰演算法的總結

有點:

適合大樣本自動分類

缺點:

輸出解釋性不強

對不均衡的樣本不擅長

計算量大

交叉驗證

把尋來你資料又分成訓練集和驗證集

目的:為了被評估的模型更加準確可信

K 均值演算法

動態聚類方法是模式識別中一種普遍採用的方法,它具有以下3個要點 1 選定某種距離度量作為樣本間的相似性度量 2 確定某個評價聚類結果質量的準則函式 3 給定某個初始分類,然後用迭代演算法找出使準則函式取極值的最好的聚類結果 k means演算法 輸入 聚類個數k,以及包含 n個資料物件的資料庫。輸出...

k 近鄰演算法

此文章參考機器學習實戰一書,具體的理論知識可以參考該書。本文的初衷只是為了做乙個複習,將學過的知識加以整理,其中不免有一定的錯誤。2.k 近鄰演算法的原理介紹 k 近鄰演算法通過測量不同的特徵值之間的距離進行分類。它的工作原理如下 存在乙個樣本的資料集合,也成為訓練樣本集合。並且樣本集中的每個資料都...

K 近鄰演算法

k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類。優點 精度高 對異常值不敏感 無資料輸入假定 缺點 計算複雜度高 空間複雜度高 適用資料範圍 數值型和標稱型 工作原理 存在乙個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入...