《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》筆記:Kmeans分類與Python的10行代碼實(shí)現(xiàn)

機(jī)器學(xué)習(xí).png

Kmeans是最簡單的一種分類算法已卷,其基本思想是基于距離的思想。即一個待分類的東西堂氯,假設(shè)要?dú)w類為A類或者B類,則根據(jù)這個東西離A類和B類哪個距離更近來決定牌废,離A近就是A類咽白,離B近就是B類。當(dāng)然你可能不止只有兩類鸟缕,但n類的情況也是一樣的晶框,離哪個類近就是那類。

以最簡單的二維坐標(biāo)為例子講一下懂从,下面這個圖授段,有四個點(diǎn)[1,1.1], [1,1], [0,0], [0,0.1]

Paste_Image.png

我們可以很合理的認(rèn)為左下角兩個點(diǎn)是一類,叫A類番甩。
右上角的兩個點(diǎn)是一類侵贵,叫B類。

分類圖.png

那如果我們這時來了一個點(diǎn)[0.5,0.5]缘薛,如何給這個點(diǎn)分類呢窍育,是A類還是B類呢?有沒有什么衡量的標(biāo)準(zhǔn)呢宴胧?很簡單漱抓,根據(jù)距離就可以了。找出距離這個點(diǎn)最近的k個點(diǎn)恕齐,k個點(diǎn)中A中的點(diǎn)多乞娄,就屬于A類,B中的點(diǎn)多显歧,就屬于B類仪或。

待分類點(diǎn).png

距離計(jì)算,直接是用矩陣減法士骤,然后再平方就行范删。像下面這樣。

矩陣計(jì)算.png

如果kmean算法選擇k=3敦间,這最近的三點(diǎn)距離是0.4瓶逃,0.5束铭,0.5廓块。對應(yīng)的分類是B,B契沫,A带猴。B的數(shù)量大于A。說明待分類的點(diǎn)屬于B類懈万。分類完成拴清。

下面是Python的實(shí)現(xiàn)靶病。部分摘自《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》,為了更好看口予,我把他整成一個文件了娄周。

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)
    sortedDistIndicies = sqDistances.argsort()       ##對距離進(jìn)行排序
    classCount={}                               ##新建字典,字典常用于排序
    for i in range(k):                          ##對字典進(jìn)行排序沪停,字典以labal作為key煤辨,數(shù)值為kmean的數(shù)值
        voteIlabel = labels[sortedDistIndicies[i]]
        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1

    sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
    print("dictionary",sortedClassCount)
    return sortedClassCount[0][0]

group,labels=createDataSet()
result=classify0([0.5,0.5], group, labels, 3)
print(result)                                  ##顯示結(jié)果

上面的程序大家可以打一下log,跟蹤一下矩陣的變化木张。
最后打印結(jié)果是,分類為B众辨,字典中B有兩個,A有一個舷礼。說明要分類為B鹃彻。

('dictionary', [('B', 2), ('A', 1)])
B
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市妻献,隨后出現(xiàn)的幾起案子蛛株,更是在濱河造成了極大的恐慌,老刑警劉巖育拨,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泳挥,死亡現(xiàn)場離奇詭異,居然都是意外死亡至朗,警方通過查閱死者的電腦和手機(jī)屉符,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锹引,“玉大人矗钟,你說我怎么就攤上這事∠颖洌” “怎么了吨艇?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腾啥。 經(jīng)常有香客問我东涡,道長,這世上最難降的妖魔是什么倘待? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任疮跑,我火速辦了婚禮,結(jié)果婚禮上凸舵,老公的妹妹穿的比我還像新娘祖娘。我一直安慰自己,他們只是感情好啊奄,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布渐苏。 她就那樣靜靜地躺著掀潮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪琼富。 梳的紋絲不亂的頭發(fā)上仪吧,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機(jī)與錄音鞠眉,去河邊找鬼邑商。 笑死,一個胖子當(dāng)著我的面吹牛凡蚜,可吹牛的內(nèi)容都是我干的人断。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼朝蜘,長吁一口氣:“原來是場噩夢啊……” “哼恶迈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谱醇,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤暇仲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后副渴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奈附,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年煮剧,在試婚紗的時候發(fā)現(xiàn)自己被綠了斥滤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡勉盅,死狀恐怖佑颇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情草娜,我是刑警寧澤挑胸,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站宰闰,受9級特大地震影響茬贵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜移袍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一解藻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咐容,春花似錦舆逃、人聲如沸蚂维。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蔚约,卻和暖如春奄妨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背苹祟。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工砸抛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人树枫。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓直焙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親砂轻。 傳聞我的和親對象是個殘疾皇子奔誓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. 關(guān)于診斷X線機(jī)準(zhǔn)直器的作用,錯誤的是()搔涝。 (6.0 分) A. 顯示照射野 B. 顯示中心線 C. 屏蔽多...
    我們村我最帥閱讀 10,263評論 0 5
  • 覺得現(xiàn)在還是像是沒有什么緊張的感覺一樣庄呈,漫不經(jīng)心的準(zhǔn)備考試蜕煌,漫不經(jīng)心的打瞌睡,還不明確自己究竟想要干什么诬留,要知道斜纪,...
    不憂郁的藍(lán)閱讀 179評論 0 0
  • 岡仁波齊傀广,四個字在慶山的書上看到過,比西藏冷門的地方彩届,但也是許多人朝圣的之地伪冰。看了這部電影的簡介樟蠕,就決定這部電影一...
    泡菜和肉醬閱讀 579評論 3 7
  • 小妹坐校車回到家贮聂,不想看動畫片,和媽媽說她困了寨辩,自己很懂事的去洗漱吓懈,進(jìn)了自己的房間,說要睡覺了靡狞。媽媽過來給了她...
    九歲688閱讀 355評論 0 1