"我不斷地告訴大家仪际,未來(lái)十年最熱門的職業(yè)是統(tǒng)計(jì)學(xué)家围小。很多人認(rèn)為我是開(kāi)玩笑, 誰(shuí)又能想到計(jì)算機(jī)工程師會(huì)是20世紀(jì)90年代最誘人的職業(yè)呢树碱?如何解釋數(shù)據(jù)肯适、處理數(shù)據(jù)、從中抽取價(jià)值成榜、展示和交流數(shù)據(jù)結(jié)果框舔,在未來(lái)十年將是最重要的職業(yè)技能,甚至是大學(xué)赎婚,中學(xué)刘绣,小學(xué)的學(xué)生也必需具備的技能,因?yàn)槲覀兠繒r(shí)每刻都在接觸大量的免費(fèi)信息挣输,如何理解數(shù)據(jù)纬凤、從中抽取有價(jià)值的信息才是其中的關(guān)鍵。這里統(tǒng)計(jì)學(xué)家只是其中的一個(gè)關(guān)鍵環(huán)節(jié)撩嚼,我們還需要合理的展示數(shù)據(jù)停士、交流和利用數(shù)據(jù)。我確實(shí)認(rèn)為完丽,能夠從數(shù)據(jù)分析中領(lǐng)悟到有價(jià)值信息是非常重要的恋技。職業(yè)經(jīng)理人尤其需要能夠合理使用和理解自己部門產(chǎn)生的數(shù)據(jù)〗⒂浚”
--McKinsey Quarterly猖任,2009年1月
簡(jiǎn)介部分,作者介紹了自己早年為什么對(duì)機(jī)器學(xué)習(xí)感興趣瓷耙,后期的學(xué)習(xí)過(guò)程朱躺,以及對(duì)機(jī)器學(xué)習(xí)應(yīng)用在工業(yè)界的客觀態(tài)度。雖然本書(shū)出版于12年初搁痛,作者的靈感來(lái)源于10年前的一篇論文 Top 10 Algorithms in Data Mining 长搀,但本書(shū)的許多實(shí)戰(zhàn)應(yīng)用依然是不過(guò)時(shí),作為入門書(shū)籍足足夠夠鸡典。
機(jī)器學(xué)習(xí)實(shí)戰(zhàn)主要分為4個(gè)部分源请,分類、回歸預(yù)測(cè)彻况、無(wú)監(jiān)督學(xué)習(xí)谁尸、其他工具。
對(duì)于前兩章纽甘,在接下來(lái)我會(huì)側(cè)重于實(shí)踐部分良蛮,提煉方法論;對(duì)于后兩章悍赢,由于目前工業(yè)界推薦算法發(fā)展迅猛决瞳,可能會(huì)疊加一些別的書(shū)籍一起看货徙。進(jìn)度應(yīng)該會(huì)慢一些,外援需求也多一些( ‘-ω?? ) 希望我不要半途而廢呀
代碼地址
一皮胡、分類
機(jī)器學(xué)習(xí)基礎(chǔ)
@作者 機(jī)器學(xué)習(xí)能讓我們自數(shù)據(jù)集中受到啟發(fā)痴颊,換句話說(shuō),我們會(huì)利用計(jì)算機(jī)來(lái)彰顯數(shù)據(jù)背后的真實(shí)含義屡贺,這才是機(jī)器學(xué)習(xí)的真實(shí)含義蠢棱。
什么是機(jī)器學(xué)習(xí)?
機(jī)器學(xué)習(xí)就是把無(wú)序的數(shù)據(jù)轉(zhuǎn)換成有用的信息甩栈。
什么是監(jiān)督學(xué)習(xí)裳扯?
預(yù)測(cè)目標(biāo)變量的分類信息,主要分為分類和回歸兩類
如何區(qū)分監(jiān)督學(xué)習(xí)谤职,無(wú)監(jiān)督學(xué)習(xí)?
知乎@王豐
是否有監(jiān)督(supervised)亿鲜,就看輸入數(shù)據(jù)是否有標(biāo)簽(label)允蜈。輸入數(shù)據(jù)有標(biāo)簽,則為有監(jiān)督學(xué)習(xí)蒿柳,沒(méi)標(biāo)簽則為無(wú)監(jiān)督學(xué)習(xí)饶套。
屬性/特征挑選tips
通常的做法是測(cè)量所有可測(cè)屬性,而后再挑選出重要部分垒探。
如何測(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è)試樣本時(shí)并不提供測(cè)試樣本的目標(biāo)變量夷蚊,由程序決定樣本屬于哪個(gè)類別构挤。比較測(cè)試樣本預(yù)測(cè)的目標(biāo)變量值與實(shí)際樣本類別之間的差別,就可以得出算法的實(shí)際精確度惕鼓。
知識(shí)表示
某些算法可以產(chǎn)生很容易理解的知識(shí)表示筋现,而某些算法的知識(shí)表示也許只能為計(jì)算機(jī)所理解。知識(shí)表示可以采用規(guī)則集的形式箱歧,也可以采用概率分布的形式矾飞,甚至可以是訓(xùn)練樣本集中的一個(gè)實(shí)例。在某些場(chǎng)合中呀邢,人們可能并不想建立一個(gè)專家系統(tǒng)洒沦,而僅僅對(duì)機(jī)器學(xué)習(xí)算法獲取的信息感興趣。此時(shí)驼鹅,采用何種方式表示知識(shí)就顯得非常重要了微谓。
如何選擇合適的算法森篷?
首先要考慮機(jī)器學(xué)習(xí)算法的目的,如果想要預(yù)測(cè)目標(biāo)變量的值豺型,則可以選擇監(jiān)督學(xué)習(xí)算法仲智, 否則可以選擇無(wú)監(jiān)督學(xué)習(xí)算法。
- 確定選擇監(jiān)督學(xué)習(xí)算法之后姻氨,需要進(jìn)一步確定目標(biāo)變量類型钓辆,如果目標(biāo)變量是離散型,如是/否肴焊、1/2/3前联、A/B/C或者紅/黃/黑等,則可以選擇分類器算法;如果目標(biāo)變量是連續(xù)型的數(shù)值娶眷,如0.0100.00似嗤、-999999或者+∞~-∞等,則需要選擇回歸算法届宠。
- 如果不想預(yù)測(cè)目標(biāo)變量的值烁落,則可以選擇無(wú)監(jiān)督學(xué)習(xí)算法。進(jìn)一步分析是否需要將數(shù)據(jù)劃分 為離散的組豌注。如果這是唯一的需求伤塌,則使用聚類算法;如果還需要估計(jì)數(shù)據(jù)與每個(gè)分組的相似程度轧铁,則需要使用密度估計(jì)算法每聪。
其次需要考慮數(shù)據(jù)問(wèn)題。
主要應(yīng)該了解數(shù)據(jù)的以下特征:特征值是離散型變量還是連續(xù)型變量齿风,特征值中是否存在缺失的值药薯,何種原因造成缺失值,數(shù)據(jù)中是否存在異常值救斑,某個(gè)特征發(fā)生的頻率如何(是否罕見(jiàn)得如同海底撈針)果善,等等。充分了解上面提到的這些數(shù)據(jù)特性可以縮短選擇機(jī)器學(xué)習(xí)算法的時(shí)間系谐。
如何開(kāi)發(fā)機(jī)器學(xué)習(xí)巾陕?
一點(diǎn)點(diǎn)小感想:由于初版時(shí)間過(guò)早,作者使用的數(shù)據(jù)格式主要是List纪他,而不是現(xiàn)在大熱的dataframe鄙煤,后面上手的時(shí)候,應(yīng)該會(huì)改寫作者的代碼茶袒,改為dataframe格式的