第一周 機器學習的敲門磚kNN演算法

2021-10-03 09:32:24 字數 1630 閱讀 8689

《統計學習方法》一書中概括,統計機器學習包括監督學習、非監督學習、半監督學習以及強化學習。

通俗來說,就是給定的資料集中既包含特徵,又包含標籤的一類統計機器學習方式。一般來說,由於標籤已知,且在學習之前從輸入到輸出的對映關係已知,此類方法通常具有較高的準確率。監督學習的主要應用有兩大類,分類和回歸。分類是對離散資料的**,回歸則是對連續資料的**。常見的演算法有knn、決策樹、邏輯回歸等。

參照監督學習的定義,我們不難得出,就是給定的資料集中只有特徵,沒有標籤,需要自行學習從輸入到輸出的對映關係,此類方式便是非監督學習。常見的應用主要有關聯規則和聚類,相應的演算法有apriori演算法和k-means演算法。

顧名思義,半監督學習就是部分標籤已知。通常情況下,未知標籤的樣本量要遠遠大於已知標籤的樣本量。比如,在風控業務中,明確的惡意使用者往往佔總體的比例極低,如何根據此類使用者抽象出的風險特徵去挖掘出潛藏在正常使用者中的灰色使用者,有效地降低潛在風險,這便是半監督學習方法的乙個應用場景。

強化學習不依賴大量的已知標籤,具有「自學」的意識。根據自己以往的經驗,加上乙個行為獎勵機制——「好」的行為給予獎勵,今後繼續發揚,「壞」的行為得到懲罰,今後盡可能避免。從這個過程可以看出,強化學習是乙個時序過程,反饋有一定的滯後性。常見的演算法有馬爾可夫鏈等。

knn(k-nearest neighbor)是一種基本分類與回歸方法。knn法假設給定的乙個訓練資料集,其中例項的類別已定。分類時,對於新的例項,根據其k個最近鄰的訓練例項的類別,通過多數表決等方式進行**。因此,knn不具有顯式的學習過程。knn實際上是利用訓練集對特徵向量空間進行劃分,並作為其分類的「模型」。k值的選擇、距離的度量以及分類決策規則是knn的三個基本要素。

西瓜書p225

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.neighbors import kneighborsclassifier

import numpy as np

-### 讀取資料 x, y

iris = datasets.load_iris(

)x = iris.data

y = iris.target

x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=

20)

clf = kneighborsclassifier(n_neighbors=3)

clf.fit(x_train, y_train)

from sklearn.metrics import accuracy_score

correct = np.count_nonzero(

(clf.predict(x_test)

==y_test)

==true

)#accuracy_score(y_test, clf.predict(x_test))

print

("accuracy is: %.3f"

%(correct/

len(x_test)

))`

機器學習小組第一周 機器學習的敲門磚kNN演算法

20200224 因為今年的寒假實在太長,今天本來應該是開學的第一天,此時卻只能在家裡自主學習,學校正式線上授課的日子是3月9號,所以報名了乙個機器學習小組一起學習機器學習演算法的原理和實現啦。學習目標 1.了解knn演算法的思想及其原理 2.使用python手動實現knn演算法,並在sklearn...

第一周學習

msg dic for k,v in msg dic.items print f 商品名稱 商品 end while true shoppingcar input 請輸入你要購買的商品 strip if shoppingcar not in msg dic or shoppingcar is non...

第一周學習

1.根目錄,位於目錄的最頂端,是所有檔案和目錄的父目錄,其自身沒有父目錄。2.boot 引導檔案存放目錄,核心檔案 vmlinuz 引導載入器 bootloader,grub 都存放於此目錄。3.bin 存放使用者基本命令,不能關聯至獨立分割槽,os啟動就會用到的程式。4.sbin 存放管理類基本命...