from numpy import *
import operator
def createDataSet():
group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels=['A','A','B','B']
return(group,labels)
def classify0(inX,dataSet,labels,k):
dataSetSize=dataSet.shape[0]
diffMat=tile(inX,(dataSetSize,1))-dataSet
sqDiffMat=diffMat**2
sqDistances=sqDiffMat.sum(axis=1) #axis=1表示按行相加 , axis=0表示按列相加
distances=sqDistances**0.5
print(distances)
sortedDistIndicies=distances.argsort() #升序排列,得到的是值所對應的索引
print(sortedDistIndicies)
classCount={}
for i in range(k):
voteIlabel = labels[sortedDistIndicies[i]]
classCount[voteIlabel] = classCount.get(voteIlabel,0)+1 #出現次數越多,值越大
sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),reverse=True) #降序排列,比較第2個元素,返回發生頻率最高的元素標簽
return(sortedClassCount[0][0])
(dataset,labels)=createDataSet()
result=classify0([0,0],dataset,labels,3)
k-近鄰算法學習
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 有句話說,好看的人都是相似的。 院長信了。 前幾天看到了傳說中的「泰國女版陳偉霆」: 確定這不是陳偉霆本人戴假發?...
- 作為一名小奶牛,我覺得是時候跟大家分享一些我覺得好喝又下奶的神湯啦!不一定對大家都有效,但是我自己是覺得受益匪淺噠...