機器學(xué)習(xí)課次13~14-最近鄰(KNN)算法應(yīng)用_第1頁
機器學(xué)習(xí)課次13~14-最近鄰(KNN)算法應(yīng)用_第2頁
機器學(xué)習(xí)課次13~14-最近鄰(KNN)算法應(yīng)用_第3頁
機器學(xué)習(xí)課次13~14-最近鄰(KNN)算法應(yīng)用_第4頁
機器學(xué)習(xí)課次13~14-最近鄰(KNN)算法應(yīng)用_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

彭輝94031097(QQ)機器學(xué)習(xí)MachineLearningK近鄰算法及應(yīng)用任務(wù)目標能力目標使用K近鄰算法解決分類問題

K近鄰算法基本原理理解K近鄰含義任務(wù)目標素質(zhì)目標團隊協(xié)作學(xué)會學(xué)習(xí)實踐創(chuàng)新模型評估背景每部電影的打斗鏡頭、情感鏡頭數(shù)以及電影評估類型,如下表所示:試以此建立模型來預(yù)測一部未知電影的類型。電影名稱打斗鏡頭數(shù)情感鏡頭數(shù)電影類型CaliforniaMan3104愛情片He’sNotReallyintoDudes2100愛情片BeautifulWoman181愛情片KevinLongblade10110動作片RoboSlayer3000995動作片Ampedll982動作片打斗次數(shù)情感鏡頭數(shù)如果有一部電影的打斗次數(shù)為18,情感鏡頭為90,請為此電影分類。K最近鄰算法kNN(k-NearestNeighborClassification),即k-近鄰分類算法。近朱者赤,近墨者黑。一個樣本在特征空間中,總會有k個最相似(即特征空間中最鄰近)的樣本。其中,大多數(shù)樣本屬于某一個類別,則該樣本也屬于這個類別。是理論上比較成熟的方法,也是最簡單的機器學(xué)習(xí)算法之一。K最近鄰的核心知識是距離的計算和權(quán)重的計算。K最近鄰算法算法原理K最近鄰算法計算步驟:算距離:給定測試對象,計算它與訓(xùn)練集中的每個對象的距離找鄰居:圈定距離最近的k個訓(xùn)練對象,作為測試對象的近鄰做分類:根據(jù)這k個近鄰歸屬的主要類別,來對測試對象分類懶惰算法平時不好好學(xué)習(xí),考試(對測試樣本分類)時才臨陣磨槍(臨時去找k個近鄰)。懶惰的后果:模型簡單,計算開銷大。算法步驟K最近鄰算法距離公式兩個點的距離公式如下:已知坐標點(3,4),(7,7)求兩點間的距離距離越近應(yīng)該意味著這兩個點屬于一個分類的可能性越大。典型的距離定義K最近鄰算法投票決定:少數(shù)服從多數(shù);加權(quán)投票法:根據(jù)距離的遠近,距離越近則權(quán)重越大(權(quán)重為距離平方的倒數(shù))。3.做分類K最近鄰算法#3.分類-找出value值最大的key作為分類的結(jié)果,

sortedClass=sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)

#列表的第一個元素是元組,表示最大value的值、出現(xiàn)的次數(shù)

ret=sortedClass[0][0]計算已知類別數(shù)據(jù)集中的點與當前點之間的距離;按照距離遞增次序排序;選取與當前點距離最小的k個點;確定前k個點所在類別對應(yīng)的出現(xiàn)頻率;返回前k個點出現(xiàn)頻率最高的類別作為當前點的預(yù)測分類。算法流程K最近鄰算法缺點對測試樣本分類時的計算量大,內(nèi)存開銷大,評分慢;可解釋性較差,無法給出決策樹那樣的規(guī)則。K最近鄰算法優(yōu)點簡單,易于理解,易于實現(xiàn),無需估計參數(shù),無需訓(xùn)練;特別適合于多分類問題(multi-modal,對象具有多個類別標簽),例如根據(jù)基因特征來判斷其功能分類,kNN比SVM的表現(xiàn)要好。sklearn庫中提供KNeighborsClassifier實現(xiàn)kNN算法,此外,還提供RadiusNeighborsClassifier(非均勻采樣時比較合適,以半徑為選取方法)做最近鄰分類sklearn.neighbors.KNeighborsClassifier(n_neighbors=5#鄰居數(shù),默認為5,weights='uniform'#用于預(yù)測的權(quán)重方法

,algorithm='auto'#用于計算最近鄰的算法(ball_tree、kd_tree、brute、auto)

,leaf_size=30#傳遞給BallTree或KDTree葉大小

,p=2#,metric='minkowski'#用于樹的度量距離

,metric_params=None#度量參數(shù)

,**kwargs)fromsklearn.neighborsimportKNeighborsClassifierSklearn實現(xiàn)K最近鄰算法knn_sklearn_movie_test1.py使用kNN算法對鳶尾花數(shù)據(jù)集iris進行分類(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論