基礎學習 了解 K近鄰理論

2021-10-12 13:53:59 字數 1197 閱讀 6833

knn(k-nearest neighbors),中文翻譯k近鄰。我們常常聽到乙個故事:如果要了解乙個人的經濟水平,只需要知道他最好的5個朋友的經濟能力,

對他的這五個人的經濟水平求平均就是這個人的經濟水平。這句話裡面就包含著knn的演算法思想。

1) knn建立過程

1 給定測試樣本,計算它與訓練集中的每乙個樣本的距離。

2 找出距離近期的k個訓練樣本。作為測試樣本的近鄰。

3 依據這k個近鄰歸屬的類別來確定樣本的類別。

2) 類別的判定①投票決定,少數服從多數。取類別最多的為測試樣本類別。

②加權投票法,依據計算得出距離的遠近,對近鄰的投票進行加權,距離越近則權重越大,設定權重為距離平方的倒數。

knn雖然很簡單,但是人們常說"大道至簡",一句"物以類聚,人以群分"就能揭開其面紗,看似簡單的knn即能做分類又能做回歸,

還能用來做資料預處理的缺失值填充。由於knn模型具有很好的解釋性,一般情況下對於簡單的機器學習問題,我們可以使用knn作為

baseline,對於每乙個**結果,我們可以很好的進行解釋。推薦系統的中,也有著knn的影子。例如文章推薦系統中,

對於乙個使用者a,我們可以把和a最相近的k個使用者,瀏覽過的文章推送給a。

機器學習領域中,資料往往很重要,有句話叫做:「資料決定任務的上限, 模型的目標是無限接近這個上限」。

可以看到好的資料非常重要,但是由於各種原因,我們得到的資料是有缺失的,如果我們能夠很好的填充這些缺失值,

就能夠得到更好的資料,以至於訓練出來更魯棒的模型。接下來我們就來看看knn如果做分類,怎麼做回歸以及怎麼填充空值。

1. python3.7

2. numpy >= '1.16.4'

3. sklearn >= '0.23.1'

了解knn怎麼做分類問題

了解knn如何做回歸

了解knn怎麼做空值填充, 如何使用knn構建帶有空值的pipeline

二維資料集–knn分類

鶯尾花資料集–knn分類

模擬資料集–knn回歸

馬絞痛資料–knn資料預處理+knn分類pipeline

sklearn學習 k近鄰

比如我們要 中心點的顏色,以k 3為半徑畫乙個圓 圖中實線圓 此時紅點多於藍點,那麼我們推測中心點為紅色,以k 5為半徑畫乙個圓 圖中虛線圓 此時藍點多於紅點,那麼我們推測中心點為藍色。鳶尾花種類的 如下 from sklearn import datasets from sklearn.model...

機器學習實戰之K 近鄰演算法(KNN)(一)理論

knn是k nearest neighbor的簡寫,直譯為k 近鄰演算法。顧名思義,找到最近的k個資料,在前k個資料中選擇佔比最高的類別作為 類別。如 分類的例子,可以分為軍事 和網遊 軍事 的以戰爭描寫為主,網遊 以網路遊戲描述為主。假設一本沒看過的 假設這本 是軍事 和網遊 之一 我們使用k 近...

阿里天池訓練營day07 了解K近鄰的理論

3.knn的應用 阿里天池訓練營day07 了解k近鄰的理論 k近鄰演算法是一種基本分類和回歸方法,思想比較簡單但是卻十分實用 k近鄰演算法 給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分類到這個類中。例如上圖,對於新輸入...