国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python語言實現機器學習的K-近鄰算法

來源:懂視網 責編:小采 時間:2020-11-27 14:41:03
文檔

Python語言實現機器學習的K-近鄰算法

Python語言實現機器學習的K-近鄰算法:寫在前面 額、、最近開始學習機器學習嘛,網上找到一本關于機器學習的書籍,名字叫做《機器學習實戰》。很巧的是,這本書里的算法是用Python語言實現的,剛好之前我學過一些Python基礎知識,所以這本書對于我來說,無疑是雪中送炭啊。接下來,我還是給大家
推薦度:
導讀Python語言實現機器學習的K-近鄰算法:寫在前面 額、、最近開始學習機器學習嘛,網上找到一本關于機器學習的書籍,名字叫做《機器學習實戰》。很巧的是,這本書里的算法是用Python語言實現的,剛好之前我學過一些Python基礎知識,所以這本書對于我來說,無疑是雪中送炭啊。接下來,我還是給大家
寫在前面

額、、、最近開始學習機器學習嘛,網上找到一本關于機器學習的書籍,名字叫做《機器學習實戰》。很巧的是,這本書里的算法是用Python語言實現的,剛好之前我學過一些Python基礎知識,所以這本書對于我來說,無疑是雪中送炭啊。接下來,我還是給大家講講實際的東西吧。

什么是K-近鄰算法?

簡單的說,K-近鄰算法就是采用測量不同特征值之間的距離方法來進行分類。它的工作原理是:存在一個樣本數據集合,也稱作訓練樣本集,并且樣本集中每個數據都存在標簽,即我們知道樣本集中每一數據與所屬分類的對應關系,輸入沒有標簽的新數據之后,將新數據的每個特征與樣本集中數據對應的特征進行比較,然后算法提取出樣本集中特征最相似數據的分類標簽。一般來說,我們只選擇樣本數據集中前k個最相似的數據,這就是K-近鄰算法名稱的由來。

提問:親,你造K-近鄰算法是屬于監督學習還是無監督學習呢?

使用Python導入數據

從K-近鄰算法的工作原理中我們可以看出,要想實施這個算法來進行數據分類,我們手頭上得需要樣本數據,沒有樣本數據怎么建立分類函數呢。所以,我們第一步就是導入樣本數據集合。

建立名為kNN.py的模塊,寫入代碼:

 from numpy import *
 import operator
 
 def createDataSet():
 group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
 labels = ['A','A','B','B']
 return group, labels

代碼中,我們需要導入Python的兩個模塊:科學計算包NumPy和運算符模塊。NumPy函數庫是Python開發環境的一個獨立模塊,大多數Python版本里沒有默認安裝NumPy函數庫,因此這里我們需要單獨安裝這個模塊。

下載地址:http://sourceforge.net/projects/numpy/files/

有很多的版本,這里我選擇的是numpy-1.7.0-win32-superpack-python2.7.exe。

實現K-近鄰算法

K-近鄰算法的具體思想如下:

(1)計算已知類別數據集中的點與當前點之間的距離

(2)按照距離遞增次序排序

(3)選取與當前點距離最小的k個點

(4)確定前k個點所在類別的出現頻率

(5)返回前k個點中出現頻率最高的類別作為當前點的預測分類

Python語言實現K-近鄰算法的代碼如下:

 # coding : utf-8
 from numpy import *
 import operator 
 import kNN
 group, labels = kNN.createDataSet()
 def classify(inX, dataSet, labels, k):
 dataSetSize = dataSet.shape[0] 
 diffMat = tile(inX, (dataSetSize,1)) - dataSet
 sqDiffMat = diffMat**2
 sqDistances = sqDiffMat.sum(axis=1)
 distances = sqDistances**0.5
 sortedDistances = distances.argsort()
 classCount = {}
 for i in range(k):
 numOflabel = labels[sortedDistances[i]]
 classCount[numOflabel] = classCount.get(numOflabel,0) + 1
 sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1),reverse=True)
 return sortedClassCount[0][0]
 my = classify([0,0], group, labels, 3)
 print my

運算結果如下:

輸出結果是B:說明我們新的數據([0,0])是屬于B類。

代碼詳解

相信有很多朋友們對上面這個代碼有很多不理解的地方,接下來,我重點講解幾個此函數的關鍵點,以方便讀者們和我自己回顧一下這個算法代碼。

classify函數的參數:

inX:用于分類的輸入向量
dataSet:訓練樣本集合
labels:標簽向量
k:K-近鄰算法中的k
shape:是array的屬性,描述一個多維數組的維度

tile(inX, (dataSetSize,1)):把inX二維數組化,dataSetSize表示生成數組后的行數,1表示列的倍數。整個這一行代碼表示前一個二維數組矩陣的每一個元素減去后一個數組對應的元素值,這樣就實現了矩陣之間的減法,簡單方便得不讓你佩服不行!

axis=1:參數等于1的時候,表示矩陣中行之間的數的求和,等于0的時候表示列之間數的求和。

argsort():對一個數組進行非降序排序

classCount.get(numOflabel,0) + 1:這一行代碼不得不說的確很精美啊。get():該方法是訪問字典項的方法,即訪問下標鍵為numOflabel的項,如果沒有這一項,那么初始值為0。然后把這一項的值加1。所以Python中實現這樣的操作就只需要一行代碼,實在是很簡潔高效。

后話

K-近鄰算法(KNN)原理以及代碼實現差不多就這樣了,接下來的任務就是更加熟悉它,爭取達到裸敲的地步。

以上所述上就是本文的全部內容了,希望大家能夠喜歡。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Python語言實現機器學習的K-近鄰算法

Python語言實現機器學習的K-近鄰算法:寫在前面 額、、最近開始學習機器學習嘛,網上找到一本關于機器學習的書籍,名字叫做《機器學習實戰》。很巧的是,這本書里的算法是用Python語言實現的,剛好之前我學過一些Python基礎知識,所以這本書對于我來說,無疑是雪中送炭啊。接下來,我還是給大家
推薦度:
標簽: 實現 python 算法
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 久久国产亚洲欧美日韩精品 | 免费毛片网 | 91导航在线观看 | 欧美综合图区亚洲综合图区 | 亚洲 另类 在线 欧美 制服 | 可以免费观看一级毛片黄a 另类国产精品一区二区 | 欧美综合亚洲图片综合区 | 精品日韩欧美一区二区三区 | 国产美女视频黄a视频免费全过程 | 可以免费观看一级毛片黄a 另类区 | 国产特级黄色片 | 亚洲高清视频在线观看 | 亚洲最大色网 | 看真人视频一级毛片 | 国产日韩欧美高清 | 欧美色图另类 | 日韩在线一区二区三区免费视频 | 精品国产免费人成在线观看 | 日韩亚洲欧美视频 | 久久免费国产精品一区二区 | 成人欧美一区二区三区在线 | 国产伦精品一区二区三区网站 | 免费h视频在线观看 | 日本国产在线观看 | 久久精品免费一区二区视 | 日韩一级精品久久久久 | 一区二区三区91 | 2021国产精品自拍 | 黄网站免费观看 | 成人午夜精品久久久久久久小说 | 欧美在线色图 | 欧美日韩伦理 | 青青国产成人久久91网 | 一区二区三区精品牛牛 | 亚洲免费在线视频 | 日韩精品 欧美 | 中文字幕美日韩在线高清 | 精品国产欧美一区二区 | 日日久 | 国产成人综合久久 | 久久综合精品国产一区二区三区 |