《機器學習實戰》學習筆記

2021-09-29 04:02:34 字數 1417 閱讀 6783

通過對輸入資料inx和資料集dataset座標距離的計算返回結果

資料集包括group(座標)和labels(分類)

計算inx與group點與點的距離

對距離遞增排序

選取排序後的前k個值對應的label

根據label出現的頻率對inx進行分類

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]

] classcount[voteilabel]

= classcount.get(voteilabel,0)

+1sortedclasscount =

sorted

(classcount.iteritems(

), key=operator.itemgetter(1)

, reverse=

true

)return sortedclasscount[0]

[0]

dataset.shape[0]

dataset為矩陣,shape[高維length,低維length],

如array([

[1. , 1.1],

[1. , 1. ],

[0. , 0. ],

[0. , 0.1]]).shape[0]=4

sqdistances = sqdiffmat.sum(axis=1)

axis=0代表往跨行相加(down),而axis=1代表跨列相加(across)

distances.argsort()

將x中的元素從小到大排列,提取其對應的index(索引)

排序後的x[0]值為排序前最小值的下標

sorted(classcount.iteritems(),key=operator.itemgetter(1), reverse=true)

operator.itemgetter(1)定義了乙個函式,通過該函式作用到物件上獲取下標1的值

《機器學習實戰》學習筆記

很久沒寫過部落格了,一重開就給自己挖了這麼乙個大坑 最近一段時間看了 機器學習實戰 這本書,感覺寫得不錯,認真看了看。關於這本書的書評及購買事宜請移步豆瓣 京東 亞馬遜等 這裡不多說。不過有一點,感覺這本書有個很好的地方是給出了各個演算法的python實現 和講解,要求不高的話可以拿來用了 懶 在這...

《機器學習實戰》學習筆記

目錄 第2章 k 近鄰演算法 第3章 決策樹 第4章 基於概率論的分類方法 樸素貝葉斯 第5章 logistic回歸 第7章 利用adaboost元演算法提高分類效能 第8章 數值型資料 回歸 1.python console匯入knn.py檔案 import knn1.reload的使用方法 fr...

機器學習實戰筆記

在 機器學習實戰 的決策樹的儲存這方面內容學習過程中,進行 除錯時遇到以下兩個錯誤 1 typeerror write argument must be str,not bytes 2 unicodedecodeerror gbk codec can t decode byte 0x80 in po...