1. 程式人生 > >KNN演算法中常用的距離計算公式

KNN演算法中常用的距離計算公式

  KNN,英文全稱為K-nearst neighbor,中文名稱為K近鄰演算法,它是由Cover和Hart在1968年提出來的。
  KNN演算法流程:
  輸入:訓練資料集  

T=(x1,y1),(x2,y2),...,(xN,yN)

  其中,xiXRn為例項的特徵向量,yiY={c1,c2,...,ck}為例項的類別,i=1,2,...,N;例項特徵向量x;
  輸出: 例項x所屬的類y
  (1) 根據給點的距離度量,在訓練集T中找出與x最近鄰的k個點,涵蓋著k個點的領域,記為Nk(x);
  (2) 在Nk(x)中根據分類決策規則(如多數表決),決定x的類別y
:
  
y=argmaxcjxiNk(x)I(yi=cj),i=1,2,...,N;

  
  在上式中,I為指示函式,即當yi=cj時,I為1,否則I為0。
  KNN特殊情況是k=1的情形,稱為最近鄰演算法。對於輸入的例項點(特徵向量)x,最近鄰演算法將訓練資料集中與x最近鄰點的類作為x的類。
  在KNN演算法中,常用的距離有三種,分別為曼哈頓距離、歐式距離和閔可夫斯基距離。
  設特徵空間X是n維實數向量空間Rn, xi,xjX,xi=(x(1)i,x(2)i,...,x(n)i)T, xj=(x(1)j,x(2)j,...,x(n)j)T, xi,xjLp距離定義為:
  
L
p
(xi,xj)=(nl=1|x(l)ix(l)j|p)1p

  這裡 p1
  當p=1時,稱為曼哈頓距離(Manhattan distance), 公式為:
  
L1(xi,xj)=nl=1|x

相關推薦

KNN演算法常用距離計算公式

  KNN,英文全稱為K-nearst neighbor,中文名稱為K近鄰演算法,它是由Cover和Hart在1968年提出來的。   KNN演算法流程:   輸入:訓練資料集   T=(x1,y1),(x2,y2),...,(xN,yN)   其中,x

公式財務人員常用計算公式—下篇,懷才當遇整理

指數 融資 管理費用 產出 集中 相關 滿足 活動 狀況 5、現金流量分析 現金流量表的主要作用是:第一,提供本企業現金流量的實際情況;第二,有助於評價本期收益質量,第三,有助於評價企業的財務彈性,第四,有助於評價企業的流動性;第五,用於預測企業未來的現金流量。 流動性

計算機領域各種距離計算公式

目錄 1. 歐氏距離 最常見的兩點之間或多點之間的距離表示法,又稱之為歐幾里得度量,它定義於歐幾里得空間中,如點 x = (x1,...,xn) 和 y = (y1,...,yn) 之間的距離為: (1)二維平面上兩點a(

knn演算法關於k的取值

from __future__ import print_function from sklearn.datasets import load_iris from sklearn.cross_vali

用K折交叉驗證估計KNN演算法的K值

       前幾天用KNN對自己的資料進行了分類,對於KNN中的K值,之前一直是靠緣分來試的,試的時候感覺K=3的效果挺好的。之後看了好多CSDN的部落格,發現一般大家除了靠緣分去試K值之外,也會採用交叉驗證的方法去近似求得K值,因此我決定自己實現一下,看看有什麼效果。 

sklearn-Cross_Validation1:knn演算法不同k值對應的模型準確率

""" @author: Vincnet_Sheng @file: sklearn-cross_validation-1.py @time: 2018/1/4 0004 下午 8:17 #-*- coding: utf-8 -* """ # target: 1) cros

分類演算法常用的評價指標

混淆矩陣 labeled as positive labeled as negative predicted as positive True Positive(TP

『python工作』工作常用 Excel 表公式

VLOOKUP函式 假設C1與A列中的值匹配,返回B列對應的值,則在C1輸入公式: =VLOOKUP(C1,A:B,2,0) VLOOKUP函式用法如下:(以上述假設為例) C1是要查詢的值,A:B

無線傳輸距離計算公式

轉自一篇文件 無線傳輸距離計算 Pr(dBm) = Pt(dBm) - Ct(dB) + Gt(dB) - FL(dB) + Gr(dB) - Cr(dB) Pr:接受端靈敏度 Pt: 傳送端功率 Cr: 接收端接頭和電纜損耗 Ct: 傳送端接頭和電纜損耗 Gr: 接受端

C++星期幾計算公式

蔡勒公式(Zeller):是一個計算星期的公式。 隨便給一個日期,就可以使用這個公式推算出事星期幾。 公式如下:Weeks = [C/4] - 2C + y + [y/4] + [13*(M +1)/5] + d -1; 或者是Weeks = y + [y/4] + [c/

c++常用計算程式執行時間的方法

方法1: 計時函式是clock(),而與其相關的資料型別是clock_t(標頭檔案是time.h)。函式定義原型為:clock_t clock(void); 這個函式返回從“開啟這個程式程序”到“程式中呼叫clock()函式”時之間的CPU時鐘計時單元(clock t

tensorflow常用計算操作

1、tf.reduce_sum 從tensor的維度上面計算元素之和 tf.reduce_sum( input_tensor, # 輸入 axis=None, # 表示在哪個維度進行

遊戲統計一些常用的專業 術語和計算公式

1,遊戲統計中的一些專業術語 1,ARPU:每使用者平均收入,ARPU注重的是一個時間段內運營商從每個使用者所得到的收入。 2,新增收入:為當日首次付費的使用者產生的收入 3,環比:與昨日對比,同比:與7日前對比 2,遊戲統計中的一些計算公式 1,ARP

python實現機器學習的各種距離計算及文字相似度演算法

在自然語言處理以及機器學習的分類或者聚類中會涉及到很多距離的使用,各種距離的概念以及適用範圍請自行百度或者參考各種距離 import numpy as np import math # 依賴包numpy、python-Levenshtein、scipy

演算法常用數學公式

1、指數 指數是冪運算aⁿ(a≠0)中的一個引數,a為底數,n為指數,指數位於底數的右上角,冪運算表示指數個底數相乘。當n是一個正整數,aⁿ表示n個a連乘。當n=0時,aⁿ=1。 常見的指數運算如下:         2、對數 在數學中,對數是對求

10個財務工作常用的 Excel 萬能公式

多條 提示 格式 返回值 一位 超過 str 合計 財務 1、多條件判斷公式 =IF(AND(條件1,條件2...條件n),同時滿足條件返回的值,不滿足條件返回的值) =IF(OR(條件1,條件2...條件n),同時滿足任一條件返回的值,不滿足條件返回的值) 示例:同

利用Jexl實現數據庫的計算公式在Java執行

bject urn arp key cal object num regex ply public class JexlEngineUtils { public static BigDecimal evaluateExpression ( Map <

c++常用的泛型演算法

    std中定義了很好幾種順序容器,它們自身也提供了一些操作,但是還有很多演算法,容器本身沒有提供。 而在algorithm標頭檔案中,提供了許多演算法,適用了大多數順序容器。與c++11相比,很多函式在 c++17與c++20又改變了很多,下面內容基於c++11去簡單介紹.

機器學習常用的矩陣向量求導公式

學習機器學習的時候有很的線性代數的知識,其中有一些矩陣向量求導的東西不是很熟悉,今天查了很久覺得做一個總結。     定義1.梯度(Gradient) [標量對列向量微分] 設是一個變數為的標量函式,其中。那麼定義對的梯度為:  定義2. 海森矩

FPGA時序約束常用公式推導

https://blog.csdn.net/huan09900990/article/details/76079820 在fpga工程中加入時序約束的目的:  1、給quartusii 提出時序要求;  2、quartusii 在佈局佈線時會盡量優先去滿足給出的時序要求;&n