資源簡介
機器學習實戰——KNN算法代碼+數據
代碼片段和文件信息
#!/usr/bin/env?python3
#?-*-?coding:?utf-8?-*-
__author__=‘Kevin?Liao‘
#監督學習算法————k-臨近算法的特點
#優點:精度高、對異常值不敏感、無數據輸入假定
#缺點:計算復雜度高、空間復雜度高,耗時、有時所需樣本量大,無法給出任何數據的基礎結構信息
#適用數據范圍:數值型和標稱型
from?numpy?import?*
import?operator
def?createDataSet():
????group?=?array([[1.01.1][1.01.0][00][00.1]])
????labels=[‘A‘‘A‘‘B‘‘B‘]
????return?grouplabels
#————————約會網址預測
def?classify0(inXdataSetlabelsk):
????dataSetSize=dataSet.shape[0]
????#以下三行計算距離
????diffMat=tile(inX?(dataSetSize1))-dataSet
????sqDiffMat=diffMat**2
????sqDistances=sqDiffMat.sum(axis=1)
????distances=sqDistances**0.5
????sortedDistIndicies=distances.argsort()
????#選擇距離最小的k個點?
????classCount={}
????for?i?in?range(k):
????????votellabel=labels[sortedDistIndicies[i]]
????????classCount[votellabe
評論
共有 條評論