亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

OpenCV闖關(guān)記——kNN算法在OpenCV中的實(shí)踐

baihe / 3034人閱讀

摘要:什么是算法鄰近算法,或者說(shuō)最近鄰,分類(lèi)算法是數(shù)據(jù)挖掘分類(lèi)技術(shù)中最簡(jiǎn)單的方法之一。方法在類(lèi)別決策時(shí),只與極少量的相鄰樣本有關(guān)。

什么是kNN算法

鄰近算法,或者說(shuō)K最近鄰(kNN,k-NearestNeighbor)分類(lèi)算法是數(shù)據(jù)挖掘分類(lèi)技術(shù)中最簡(jiǎn)單的方法之一。所謂K最近鄰,就是k個(gè)最近的鄰居的意思,說(shuō)的是每個(gè)樣本都可以用它最接近的k個(gè)鄰居來(lái)代表。
kNN算法的核心思想是如果一個(gè)樣本在特征空間中的k個(gè)最相鄰的樣本中的大多數(shù)屬于某一個(gè)類(lèi)別,則該樣本也屬于這個(gè)類(lèi)別,并具有這個(gè)類(lèi)別上樣本的特性。該方法在確定分類(lèi)決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類(lèi)別來(lái)決定待分樣本所屬的類(lèi)別。 kNN方法在類(lèi)別決策時(shí),只與極少量的相鄰樣本有關(guān)。由于kNN方法主要靠周?chē)邢薜泥徑臉颖?,而不是靠判別類(lèi)域的方法來(lái)確定所屬類(lèi)別的,因此對(duì)于類(lèi)域的交叉或重疊較多的待分樣本集來(lái)說(shuō),kNN方法較其他方法更為適合。

環(huán)境準(zhǔn)備

安裝Ubuntu16.04桌面版 or 安裝好桌面的服務(wù)器版

OpenCV闖關(guān)記——Ubuntu16.04 OpenCV Python開(kāi)發(fā)環(huán)境搭建

安裝numpy,numpy是什么

pip install numpy
# 在國(guó)內(nèi)往往會(huì)安裝失敗,如果安裝失敗,可通過(guò)先wget xxx.whl在運(yùn)行pip install解決
# 比如:
wget https://pypi.python.org/packages/5e/d5/3433e015f3e4a1f309dbb110e8557947f68887fe9b8438d50a4b7790a954/numpy-1.11.2-cp27-cp27mu-manylinux1_x86_64.whl#md5=fa62a11922a9e0776963508fb5254d3d
pip install numpy-1.11.2-cp27-cp27mu-manylinux1_x86_64.whl

安裝matplotlib,matplotlib是什么

pip install matplotlib
# 如安裝失敗的話(huà),解決辦法參考安裝numpy的解決辦法
Coding
# encoding: utf-8

import cv2
import numpy as np
import matplotlib.pyplot as plt

train_data = np.random.randint(0, 100, (25, 2)).astype(np.float32)

responses = np.random.randint(0, 2, (25, 1)).astype(np.float32)

red = train_data[responses.ravel() == 0]
plt.scatter(red[:,0], red[:,1], 80, "r", "^")

blue = train_data[responses.ravel() == 1]
plt.scatter(blue[:,0], blue[:,1], 80, "b", "s")

# plt.show()

newcomer = np.random.randint(0, 100, (1, 2)).astype(np.float32)
plt.scatter(newcomer[:,0], newcomer[:,1], 80, "g", "o")

knn = cv2.ml.KNearest_create()
knn.train(train_data, cv2.ml.ROW_SAMPLE, responses)
ret, results, neighbours, dist = knn.findNearest(newcomer, 5)

print("result: ", results)
print("neighbours: ", neighbours)
print("distance: ", dist)

plt.show()
運(yùn)行結(jié)果

代碼解釋

生成待訓(xùn)練的數(shù)據(jù)和標(biāo)簽

train_data = np.random.randint(0, 100, (25, 2)).astype(np.float32)

responses = np.random.randint(0, 2, (25, 1)).astype(np.float32)

在圖中標(biāo)記紅色樣本

red = train_data[responses.ravel() == 0]
plt.scatter(red[:,0], red[:,1], 80, "r", "^")

在圖中標(biāo)記藍(lán)色樣本

blue = train_data[responses.ravel() == 1]
plt.scatter(blue[:,0], blue[:,1], 80, "b", "s")

產(chǎn)生待分類(lèi)數(shù)據(jù)

newcomer = np.random.randint(0, 100, (1, 2)).astype(np.float32)
plt.scatter(newcomer[:,0], newcomer[:,1], 80, "g", "o")

訓(xùn)練樣本并產(chǎn)生分類(lèi)

knn = cv2.ml.KNearest_create()
knn.train(train_data, cv2.ml.ROW_SAMPLE, responses)

給新數(shù)據(jù)分類(lèi)

ret, results, neighbours, dist = knn.findNearest(newcomer, 5)

在圖中顯示所有數(shù)據(jù)

plt.show()
Referer

Understanding k-Nearest Neighbour

wikipedia: k-nearest neighbors algorithm

kNN(K-Nearest Neighbor)最鄰近規(guī)則分類(lèi)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/38274.html

相關(guān)文章

  • opencv python K最近鄰

    Understanding k-Nearest Neighbour 我們將Red系列標(biāo)記為Class-0(由0表示),將Blue 系列標(biāo)記為Class-1(由1表示)。 我們創(chuàng)建了25個(gè)系列或25個(gè)訓(xùn)練數(shù)據(jù),并將它們標(biāo)記為0級(jí)或1級(jí).在Matplotlib的幫助下繪制它,紅色系列顯示為紅色三角形,藍(lán)色系列顯示為藍(lán)色方塊. import numpy as np import cv2 import ...

    ThinkSNS 評(píng)論0 收藏0
  • opencv+mtcnn+facenet+python+tensorflow 實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別

    摘要:實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別本文記錄了在學(xué)習(xí)深度學(xué)習(xí)過(guò)程中,使用,開(kāi)發(fā)環(huán)境為,實(shí)現(xiàn)局域網(wǎng)連接手機(jī)攝像頭,對(duì)目標(biāo)人員進(jìn)行實(shí)時(shí)人臉識(shí)別,效果并非特別好,會(huì)繼續(xù)改進(jìn)這里是項(xiàng)目地址項(xiàng)目中用到的大文件地址如果各位老爺看完覺(jué)得對(duì)你有幫助的話(huà),請(qǐng)給個(gè)小星星,當(dāng)前時(shí)間 opencv+mtcnn+facenet+python+tensorflow 實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別 Abstract:本文記錄了在學(xué)習(xí)深度學(xué)習(xí)過(guò)程中,...

    megatron 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<