資源簡(jiǎn)介
機(jī)器學(xué)習(xí)實(shí)戰(zhàn)——KNN算法代碼+數(shù)據(jù)
代碼片段和文件信息
#!/usr/bin/env?python3
#?-*-?coding:?utf-8?-*-
__author__=‘Kevin?Liao‘
#監(jiān)督學(xué)習(xí)算法————k-臨近算法的特點(diǎn)
#優(yōu)點(diǎn):精度高、對(duì)異常值不敏感、無(wú)數(shù)據(jù)輸入假定
#缺點(diǎn):計(jì)算復(fù)雜度高、空間復(fù)雜度高,耗時(shí)、有時(shí)所需樣本量大,無(wú)法給出任何數(shù)據(jù)的基礎(chǔ)結(jié)構(gòu)信息
#適用數(shù)據(jù)范圍:數(shù)值型和標(biāo)稱型
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
#————————約會(huì)網(wǎng)址預(yù)測(cè)
def?classify0(inXdataSetlabelsk):
????dataSetSize=dataSet.shape[0]
????#以下三行計(jì)算距離
????diffMat=tile(inX?(dataSetSize1))-dataSet
????sqDiffMat=diffMat**2
????sqDistances=sqDiffMat.sum(axis=1)
????distances=sqDistances**0.5
????sortedDistIndicies=distances.argsort()
????#選擇距離最小的k個(gè)點(diǎn)?
????classCount={}
????for?i?in?range(k):
????????votellabel=labels[sortedDistIndicies[i]]
????????classCount[votellabe
評(píng)論
共有 條評(píng)論