python機器學習理論與實戰(zhàn)(一)K近鄰法-創(chuàng)新互聯

機器學習分兩大類,有監(jiān)督學習(supervised learning)和無監(jiān)督學習(unsupervised learning)。有監(jiān)督學習又可分兩類:分類(classification.)和回歸(regression),分類的任務就是把一個樣本劃為某個已知類別,每個樣本的類別信息在訓練時需要給定,比如人臉識別、行為識別、目標檢測等都屬于分類?;貧w的任務則是預測一個數值,比如給定房屋市場的數據(面積,位置等樣本信息)來預測房價走勢。而無監(jiān)督學習也可以成兩類:聚類(clustering)和密度估計(density estimation),聚類則是把一堆數據聚成弱干組,沒有類別信息;密度估計則是估計一堆數據的統(tǒng)計參數信息來描述數據,比如深度學習的RBM。

創(chuàng)新互聯-云計算及IDC服務提供商,涵蓋公有云、IDC機房租用、聯通機房服務器托管、等保安全、私有云建設等企業(yè)級互聯網基礎服務,溝通電話:13518219792

根據機器學習實戰(zhàn)講解順序,先學習K近鄰法(K Nearest Neighbors-KNN)

K近鄰法是有監(jiān)督學習方法,原理很簡單,假設我們有一堆分好類的樣本數據,分好類表示每個樣本都一個對應的已知類標簽,當來一個測試樣本要我們判斷它的類別是,就分別計算到每個樣本的距離,然后選取離測試樣本最近的前K個樣本的標簽累計投票,得票數最多的那個標簽就為測試樣本的標簽。

例子(電影分類):

python機器學習理論與實戰(zhàn)(一)K近鄰法

(圖一)

(圖一)中橫坐標表示一部電影中的打斗統(tǒng)計個數,縱坐標表示接吻次數。我們要對(圖一)中的問號這部電影進行分類,其他幾部電影的統(tǒng)計數據和類別如(圖二)所示:

python機器學習理論與實戰(zhàn)(一)K近鄰法

(圖二)

從(圖二)中可以看出有三部電影的類別是Romance,有三部電影的類別是Action,那如何判斷問號表示的這部電影的類別?根據KNN原理,我們需要在(圖一)所示的坐標系中計算問號到所有其他電影之間的距離。計算出的歐式距離如(圖三)所示:

python機器學習理論與實戰(zhàn)(一)K近鄰法

(圖三)

     由于我們的標簽只有兩類,那假設我們選K=6/2=3,由于前三個距離最近的電影都是Romance,那么問號表示的電影被判定為Romance。

代碼實戰(zhàn)(Python版本):

先來看看KNN的實現:

from numpy import * 
import operator 
from os import listdir 
 
 
def classify0(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  #計算距離 
  sortedDistIndicies = distances.argsort() #距離排序 
  classCount={}      
  for i in range(k): 
    voteIlabel = labels[sortedDistIndicies[i]]  #前K個距離最近的投票統(tǒng)計 
    classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1 #前K個距離最近的投票統(tǒng)計 
  sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True) #對投票統(tǒng)計進行排序 
  return sortedClassCount[0][0]  #返回最高投票的類別 

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享標題:python機器學習理論與實戰(zhàn)(一)K近鄰法-創(chuàng)新互聯
分享鏈接:http://bm7419.com/article18/gipgp.html

成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站網站建設、軟件開發(fā)、電子商務、自適應網站、商城網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

搜索引擎優(yōu)化