《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》讀書(shū)筆記

一乡摹、開(kāi)發(fā)機(jī)器學(xué)習(xí)應(yīng)用程序的步驟

1再层、收集數(shù)據(jù)状知。

我們可以使用很多方法收集樣本數(shù)據(jù)秽五,如:制作網(wǎng)絡(luò)爬蟲(chóng)從網(wǎng)站上抽取數(shù)據(jù)、從RSS反饋或者API中得到信息饥悴、設(shè)備發(fā)送過(guò)來(lái)的實(shí)測(cè)數(shù)據(jù)(風(fēng)速筝蚕、血糖等)卦碾。提取數(shù)據(jù)的方法非常多,為了節(jié)省時(shí)間與精力起宽,可以使用公開(kāi)可用的數(shù)據(jù)源洲胖。

2、準(zhǔn)備輸入數(shù)據(jù)坯沪。

得到數(shù)據(jù)之后绿映,還必須確保數(shù)據(jù)格式符合要求,本書(shū)采用的格式是Python語(yǔ)言的List腐晾。使用這種標(biāo)準(zhǔn)數(shù)據(jù)格式可以融合算法和數(shù)據(jù)源叉弦,方便匹配操作。

3藻糖、分析輸入數(shù)據(jù)淹冰。

此步驟主要是人工分析以前得到的數(shù)據(jù)。為了確保前兩步有效巨柒,最簡(jiǎn)單的方法是用文本編輯器打開(kāi)數(shù)據(jù)文件樱拴,査看得到的數(shù)據(jù)是否為空值。此外洋满,還可以進(jìn)一步瀏覽數(shù)據(jù)晶乔,分析是否可以識(shí)別出模式;數(shù)據(jù)中是否存在明顯的異常值牺勾,如某些數(shù)據(jù)點(diǎn)與數(shù)據(jù)集中的其他值存在明顯的差異正罢。通過(guò)一維、二維或三維圖形展示數(shù)據(jù)也是不錯(cuò)的方法驻民,然而大多數(shù)時(shí)候我們得到數(shù)據(jù)的特征值都不會(huì)低于三個(gè)翻具,無(wú)法一次圖形化展示所有特征。本書(shū)的后續(xù)章節(jié)將會(huì)介紹提煉數(shù)據(jù)的方法回还,使得多維數(shù)據(jù)可以壓縮到二維或三維呛占,方便我們圖形化展示數(shù)據(jù)。
這一步的主要作用是確保數(shù)據(jù)集中沒(méi)有垃圾數(shù)據(jù)懦趋。如果是在產(chǎn)品化系統(tǒng)中使用機(jī)器學(xué)習(xí)算法
并且算法可以處理系統(tǒng)產(chǎn)生的數(shù)據(jù)格式晾虑,或者我們信任數(shù)據(jù)來(lái)源,可以直接跳過(guò)第3步仅叫。此步驟需要人工干預(yù)帜篇,如果在自動(dòng)化系統(tǒng)中還需要人工干預(yù),顯然就降低了系統(tǒng)的價(jià)值诫咱。

4笙隙、訓(xùn)練算法。

機(jī)器學(xué)習(xí)算法從這一步才真正開(kāi)始學(xué)習(xí)坎缭。根據(jù)算法的不同竟痰,第4步和第5步是機(jī)器學(xué)習(xí)算法的核心签钩。我們將前兩步得到的格式化數(shù)據(jù)輸入到算法,從中抽取知識(shí)或信息坏快。這里得到的知識(shí)需要存儲(chǔ)為計(jì)算機(jī)可以處理的格式铅檩,方便后續(xù)步驟使用。
如果使用無(wú)監(jiān)督學(xué)習(xí)算法莽鸿,由于不存在目標(biāo)變量值昧旨,故而也不需要訓(xùn)練算法,所有與算法相
關(guān)的內(nèi)容都集中在第5步祥得。

5兔沃、測(cè)試算法。

這一步將實(shí)際使用第4步機(jī)器學(xué)習(xí)得到的知識(shí)信息级及。為了評(píng)估算法乒疏,必須測(cè)試算
法工作的效果。對(duì)于監(jiān)督學(xué)習(xí)饮焦,必須已知用于評(píng)估算法的目標(biāo)變量值怕吴;對(duì)于無(wú)監(jiān)督學(xué)習(xí),也必須用其他的評(píng)測(cè)手段來(lái)檢驗(yàn)算法的成功率追驴。無(wú)論哪種情形,如果不滿意算法的輸出結(jié)果疏之,則可以回到第4步殿雪,改正并加以測(cè)試。問(wèn)題常常會(huì)跟數(shù)據(jù)的收集和準(zhǔn)備有關(guān)锋爪,這時(shí)你就必須跳回第1步重新開(kāi)始丙曙。

6、使用算法其骄。

將機(jī)器學(xué)習(xí)算法轉(zhuǎn)換為應(yīng)用程序亏镰,執(zhí)行實(shí)際任務(wù),以檢驗(yàn)上述步驟是否可以
在實(shí)際環(huán)境中正常工作拯爽。此時(shí)如果碰到新的數(shù)據(jù)問(wèn)題索抓,同樣需要重復(fù)執(zhí)行上述的步驟。

K-近鄰算法(KNN)

工作原理

存在一個(gè)樣本數(shù)據(jù)集合毯炮,也稱(chēng)作訓(xùn)練樣本集逼肯,并且樣本集中每個(gè)數(shù)據(jù)都存在標(biāo)簽,即我們知道樣本集中每一數(shù)據(jù)與所屬分類(lèi)的對(duì)應(yīng)關(guān)系桃煎。輸人沒(méi)有標(biāo)簽的新數(shù)據(jù)后篮幢,將新數(shù)據(jù)的每個(gè)特征與樣本集中數(shù)據(jù)對(duì)應(yīng)的特征進(jìn)行比較,然后算法提取樣本集中特征最相似數(shù)據(jù)(最近鄰)的分類(lèi)標(biāo)簽为迈。
一般來(lái)說(shuō)三椿,我們只選擇樣本數(shù)據(jù)集中前k個(gè)最相似的數(shù)據(jù)缺菌,這就是k-近鄰算法中k的出處,通常k是不大于20的整數(shù)。
最后搜锰,選擇k個(gè)最相似數(shù)據(jù)中出現(xiàn)次數(shù)最多的分類(lèi)伴郁,作為新數(shù)據(jù)的分類(lèi)。

一般流程

按照開(kāi)發(fā)機(jī)器學(xué)習(xí)應(yīng)用的通用步驟纽乱,K-近鄰算法一般流程如下:
1蛾绎、收集數(shù)據(jù):可以使用任何方法。
2鸦列、準(zhǔn)備數(shù)據(jù):距離計(jì)算所需要的數(shù)值租冠,最好是結(jié)構(gòu)化的數(shù)據(jù)格式。
3薯嗤、分析數(shù)據(jù):可以使用任何方法顽爹。
4、訓(xùn)練算法:此步驟不適用于1 近鄰算法骆姐。
5镜粤、測(cè)試算法:計(jì)算錯(cuò)誤率。
6玻褪、使用算法:首先需要輸入樣本數(shù)據(jù)和結(jié)構(gòu)化的輸出結(jié)果肉渴,然后運(yùn)行女-近鄰算法判定輸
入數(shù)據(jù)分別屬于哪個(gè)分類(lèi),最后應(yīng)用對(duì)計(jì)算出的分類(lèi)執(zhí)行后續(xù)的處理带射。

python實(shí)現(xiàn)

導(dǎo)入數(shù)據(jù)

為了測(cè)試機(jī)器學(xué)習(xí)算法的效果同规,通常使用兩套獨(dú)立的樣本集:訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)。當(dāng)機(jī)器
學(xué)習(xí)程序開(kāi)始運(yùn)行時(shí)窟社,使用訓(xùn)練樣本集作為算法的輸人券勺,訓(xùn)練完成之后輸人測(cè)試樣本。比較測(cè)試樣本預(yù)測(cè)的目標(biāo)變量值與實(shí)際樣本類(lèi)別之間的差別灿里,就可以得出算法的實(shí)際精確度关炼。
以下是K-近鄰算法的訓(xùn)練數(shù)據(jù):

def create_data_set():
    group = np.array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]])
    labels = ['A', 'A', 'B', 'B']
    return group, labels

這里有4組數(shù)據(jù),每組數(shù)據(jù)有兩個(gè)我們已知的屬性或者特征值匣吊。上面的group矩陣每行包含一個(gè)不同的數(shù)據(jù)儒拂,我們可以把它想象為某個(gè)日志文件中不同的測(cè)量點(diǎn)或者入口。由于人類(lèi)大腦的限制色鸳,我們通常只能可視化處理三維以下的事務(wù)侣灶。因此為了簡(jiǎn)單地實(shí)現(xiàn)數(shù)據(jù)可視化,對(duì)于每個(gè)數(shù)據(jù)點(diǎn)我們通常只使用兩個(gè)特征缕碎。
labels包含了每個(gè)數(shù)據(jù)點(diǎn)的標(biāo)簽信息褥影,label包含的元素個(gè)數(shù)等于group矩陣行數(shù)。這
里我們將數(shù)據(jù)點(diǎn)(1咏雌,1.1)定義為類(lèi)A凡怎,數(shù)據(jù)點(diǎn)(0, 0.1)定義為類(lèi)B 校焦。為了說(shuō)明方便,例子中的數(shù)值是任意選擇的统倒,并沒(méi)有給出軸標(biāo)簽寨典。


偽代碼

1、計(jì)算已知類(lèi)別數(shù)據(jù)集中的點(diǎn)與當(dāng)前點(diǎn)之間的距離房匆;
2耸成、按照距離遞增次序排序;
3浴鸿、選取與當(dāng)前點(diǎn)距離最小的走個(gè)點(diǎn)井氢;
4、確定前灸個(gè)點(diǎn)所在類(lèi)別的出現(xiàn)頻率岳链;
5花竞、返回前女個(gè)點(diǎn)出現(xiàn)頻率最高的類(lèi)別作為當(dāng)前點(diǎn)的預(yù)測(cè)分類(lèi)。

實(shí)現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掸哑,一起剝皮案震驚了整個(gè)濱河市约急,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌苗分,老刑警劉巖厌蔽,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異摔癣,居然都是意外死亡奴饮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)供填,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拐云,“玉大人罢猪,你說(shuō)我怎么就攤上這事近她。” “怎么了膳帕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵粘捎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我危彩,道長(zhǎng)攒磨,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任汤徽,我火速辦了婚禮娩缰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谒府。我一直安慰自己拼坎,他們只是感情好浮毯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著泰鸡,像睡著了一般债蓝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盛龄,一...
    開(kāi)封第一講書(shū)人閱讀 51,624評(píng)論 1 305
  • 那天饰迹,我揣著相機(jī)與錄音,去河邊找鬼余舶。 笑死啊鸭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欧芽。 我是一名探鬼主播莉掂,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼千扔!你這毒婦竟也來(lái)了憎妙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎祈餐,沒(méi)想到半個(gè)月后皆看,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抚垃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了趟大。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹤树。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逊朽,靈堂內(nèi)的尸體忽然破棺而出罕伯,到底是詐尸還是另有隱情,我是刑警寧澤叽讳,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布追他,位于F島的核電站,受9級(jí)特大地震影響岛蚤,放射性物質(zhì)發(fā)生泄漏邑狸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一涤妒、第九天 我趴在偏房一處隱蔽的房頂上張望单雾。 院中可真熱鬧,春花似錦、人聲如沸硅堆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)硬萍。三九已至扩所,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朴乖,已是汗流浹背祖屏。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留买羞,地道東北人袁勺。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像畜普,于是被迫代替她去往敵國(guó)和親期丰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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