一. 引言
?????? 也許你覺得自己對(duì)機(jī)器學(xué)習(xí)一點(diǎn)也不熟罩润,但當(dāng)你打開網(wǎng)易云音樂的時(shí)候,早已習(xí)慣了它給你推薦的新歌翼馆;當(dāng)你點(diǎn)開今日頭條的時(shí)候割以,早已習(xí)慣了它給你推薦的新聞;當(dāng)你逛淘寶的時(shí)候应媚,也早已習(xí)慣了它給你推薦的類似商品拳球。你感覺很多產(chǎn)品好像都變得越來越人性化,因?yàn)樗鼈兎路鹪絹碓侥懿碌侥阏嬲胍膬?nèi)容珍特。實(shí)際上,這些功能背后的核心就是機(jī)器學(xué)習(xí)算法魔吐。
二扎筒、機(jī)器學(xué)習(xí)定義
?????? 機(jī)器學(xué)習(xí)其實(shí)就是研究計(jì)算機(jī)怎樣模擬人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能酬姆,并重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身嗜桌。人類是通過從以往發(fā)生事情的經(jīng)驗(yàn)中進(jìn)行學(xué)習(xí)的;而對(duì)于計(jì)算機(jī)來說辞色,他們學(xué)習(xí)的經(jīng)驗(yàn)其實(shí)就是一堆數(shù)據(jù)骨宠。即我們通過喂給計(jì)算機(jī)一堆數(shù)據(jù),讓計(jì)算機(jī)學(xué)習(xí)出一個(gè)模型相满,然后將這個(gè)模型運(yùn)用到新的數(shù)據(jù)上作出一些預(yù)測(cè)层亿。
?????? 近年來互聯(lián)網(wǎng)數(shù)據(jù)大爆炸,數(shù)據(jù)的豐富度和覆蓋面遠(yuǎn)遠(yuǎn)超出人工可以觀察和總結(jié)的范疇立美,而機(jī)器學(xué)習(xí)的算法能指引計(jì)算機(jī)在海量數(shù)據(jù)中匿又,挖掘出有用的價(jià)值,這也是無數(shù)學(xué)習(xí)者為之著迷的原因建蹄。
三碌更、學(xué)習(xí)內(nèi)容
?????? 數(shù)據(jù)科學(xué)根據(jù)其側(cè)重點(diǎn)不同其實(shí)又分為三大類,即:數(shù)據(jù)分析洞慎、數(shù)據(jù)挖掘和大數(shù)據(jù)痛单。
?????? 數(shù)據(jù)分析主要偏重業(yè)務(wù),即利用一些數(shù)據(jù)分析和統(tǒng)計(jì)工具劲腿,如Excel旭绒、Spass、SAS、SQL等快压,進(jìn)行數(shù)據(jù)分析和展現(xiàn)圆仔,以輔助公司的某項(xiàng)業(yè)務(wù)決策。
?????? 數(shù)據(jù)挖掘比數(shù)據(jù)分析更側(cè)重于建模能力一些蔫劣,一般是給定一些數(shù)據(jù)和某個(gè)問題坪郭,讓你運(yùn)用某些機(jī)器學(xué)習(xí)算法從中建立出模型,再通過這個(gè)模型去對(duì)某些東西進(jìn)行預(yù)測(cè)脉幢。所以歪沃,機(jī)器學(xué)習(xí)算法可以說是數(shù)據(jù)挖掘中的核心。
????? 大數(shù)據(jù)目前一般指Hadoop和Spark這些大數(shù)據(jù)框架嫌松,實(shí)際上偏重于一些平臺(tái)架構(gòu)類的東西沪曙。
?????? 注意,我們這里的數(shù)據(jù)科學(xué)主要圍繞數(shù)據(jù)挖掘?yàn)橹魑幔o助以一些數(shù)據(jù)分析技術(shù)液走。所以下面主要介紹數(shù)據(jù)分析和數(shù)據(jù)挖掘方面的學(xué)習(xí)路線。
3-1贾陷、數(shù)據(jù)分析學(xué)習(xí)路線
1缘眶、Excel
?????? Excel一般人都有接觸過,重點(diǎn)是了解各種函數(shù)髓废,如sum巷懈,count,sumif慌洪, countif顶燕,find,if冈爹,left/right涌攻,時(shí)間轉(zhuǎn)換等;但函數(shù)不需要學(xué)全犯助,掌握一些最常用的的癣漆,其它在用到的時(shí)候隨搜隨用就行。
?????? 另外vlookup和數(shù)據(jù)透視表是兩個(gè)性價(jià)比很高的技巧剂买,這兩個(gè)搞定后惠爽,一般10萬條以內(nèi)的數(shù)據(jù)統(tǒng)計(jì)基本沒什么難度了。
?????? 具體學(xué)習(xí)內(nèi)容的話網(wǎng)上視頻教程很多瞬哼,隨便找個(gè)學(xué)習(xí)都大同小異婚肆。
2、數(shù)據(jù)可視化
?????? 數(shù)據(jù)分析界有一句經(jīng)典名言坐慰,字不如表较性,表不如圖用僧。數(shù)據(jù)分析的最終都是要兜售自己的觀點(diǎn)和結(jié)論的,兜售的最好方式就是做出觀點(diǎn)清晰數(shù)據(jù)詳實(shí)的PPT給老板看赞咙。
?????? 雖然Excel也可以完成很多的數(shù)據(jù)可視化功能责循,但是如果想要得到更專業(yè)的可視化效果,還是建議學(xué)些編程方面的知識(shí)攀操。
?????? 這里推薦微軟的BI(商業(yè)智能)院仿。BI和圖表的區(qū)別在于BI擅長(zhǎng)交互和報(bào)表,適合解釋已經(jīng)發(fā)生和正在發(fā)生的數(shù)據(jù)速和。
3歹垫、數(shù)據(jù)庫(kù)
?????? Excel對(duì)十萬條以內(nèi)的數(shù)據(jù)處理起來沒有問題,但是互聯(lián)網(wǎng)行業(yè)就是不缺數(shù)據(jù)颠放。但凡產(chǎn)品有一點(diǎn)規(guī)模排惨,數(shù)據(jù)都是百萬起,這時(shí)候就需要學(xué)習(xí)數(shù)據(jù)庫(kù)碰凶。SQL是數(shù)據(jù)分析的核心技能之一暮芭,從Excel到SQL絕對(duì)是數(shù)據(jù)處理效率的一大進(jìn)步。
?????? 除了最基本的增刪改查欲低、索引谴麦、約束外,主要了解where伸头,group by,order by舷蟀,having恤磷, like,count野宜,sum扫步, min,max匈子, distinct河胎,if,join虎敦,left join游岳,limit,and和or的邏輯其徙,時(shí)間轉(zhuǎn)換函數(shù)等胚迫。
?????? 如果想要跟進(jìn)一步,可以學(xué)習(xí)row_number唾那,substr访锻,convert,contact等。再有點(diǎn)追求期犬,就去了解Explain優(yōu)化河哑,了解SQL的工作原理,了解數(shù)據(jù)類型和IO龟虎。
4璃谨、R/Python語(yǔ)言
?????? 是否具備編程能力,是初級(jí)數(shù)據(jù)分析和高級(jí)數(shù)據(jù)分析的風(fēng)水嶺遣总。數(shù)據(jù)挖掘睬罗,爬蟲,可視化報(bào)表都需要用到編程能力旭斥。而數(shù)據(jù)分析領(lǐng)域推薦使用的兩種語(yǔ)言絕對(duì)是R和Python了容达,二者在數(shù)據(jù)分析領(lǐng)域的地位可以說是旗鼓相當(dāng),各有優(yōu)勢(shì)垂券。
?????? R的優(yōu)點(diǎn)是統(tǒng)計(jì)學(xué)家編寫的花盐,如果是各類統(tǒng)計(jì)函數(shù)的調(diào)用,繪圖菇爪,分析的前驗(yàn)性論證算芯,R無疑有優(yōu)勢(shì)。學(xué)習(xí)R凳宙,需要了解數(shù)據(jù)結(jié)構(gòu)(matrix熙揍,array,data.frame 氏涩,list等)届囚、數(shù)據(jù)讀取,圖形繪制(ggplot2)是尖、數(shù)據(jù)操作意系、統(tǒng)計(jì)函數(shù)(mean,median,sd,var,scale等);開發(fā)環(huán)境建議使用Rstudio饺汹。
??????? Python則是萬能的膠水語(yǔ)言蛔添,適用性強(qiáng),有很多分支兜辞,我們專注數(shù)據(jù)分析這塊迎瞧。需要了解調(diào)用包、函數(shù)逸吵、數(shù)據(jù)類型(list,tuple,dict)夹攒,條件判斷,迭代等胁塞;開發(fā)環(huán)境建議Anaconda咏尝。
5压语、統(tǒng)計(jì)知識(shí)
?????? 統(tǒng)計(jì)學(xué)是數(shù)據(jù)分析的基礎(chǔ)。需要花一些時(shí)間掌握描述性統(tǒng)計(jì)知識(shí)编检,包括:均值胎食、中位數(shù)、標(biāo)準(zhǔn)差允懂、方差厕怜、概率、假設(shè)檢驗(yàn)蕾总、顯著性粥航、總體和抽樣等概念。
6生百、分析思維
??????? 好的數(shù)據(jù)分析首先要有結(jié)構(gòu)化的思維递雀,也就是我們俗稱的金字塔思維。思維導(dǎo)圖是必備的工具蚀浆;之后再了解SMART缀程、5W2H、SWOT市俊、4P理論杨凑、六頂思考帽等框架。分析也是有框架和方法論的摆昧,主要圍繞三個(gè)要點(diǎn)展開:
?????? 1)一個(gè)業(yè)務(wù)沒有指標(biāo)撩满,則不能增長(zhǎng)和分析;
?????? 2)好的指標(biāo)應(yīng)該是比率或比例绅你;
?????? 3)好的分析應(yīng)該對(duì)比或關(guān)聯(lián)鹦牛。
7、業(yè)務(wù)知識(shí)(用戶行為勇吊、產(chǎn)品、運(yùn)營(yíng))
?????? 對(duì)于數(shù)據(jù)分析師來說窍仰,業(yè)務(wù)其實(shí)比了解數(shù)據(jù)方法論更重要汉规。但很遺憾,業(yè)務(wù)學(xué)習(xí)沒有捷徑驹吮,必須靠你在某個(gè)行業(yè)自己一點(diǎn)點(diǎn)積累针史。當(dāng)然,在你正式從事某個(gè)行業(yè)之前碟狞,你可以在網(wǎng)上找一些相關(guān)業(yè)務(wù)方面的項(xiàng)目自己動(dòng)手進(jìn)行實(shí)踐練習(xí)啄枕。
3-2、數(shù)據(jù)挖掘?qū)W習(xí)路線
1族沃、編程基礎(chǔ)
?????? 一般主要是要掌握基本的數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)频祝。網(wǎng)上有很多相關(guān)的學(xué)習(xí)資源泌参,比如喜歡學(xué)術(shù)派一點(diǎn)的可以聽聽那些名校開的數(shù)據(jù)結(jié)構(gòu)與算法網(wǎng)課;喜歡幽默有趣一點(diǎn)的可以選擇一些培訓(xùn)機(jī)構(gòu)或個(gè)人錄制的數(shù)據(jù)結(jié)構(gòu)和算法講解視頻常空。
2沽一、編程語(yǔ)言
??????? 精通最少一門編程語(yǔ)言,推薦學(xué)習(xí)Python漓糙。對(duì)于一個(gè)初學(xué)者來說铣缠,推薦一本書《零基礎(chǔ)學(xué)Python》,里面從最基本開始昆禽,每段程序后面都逐句進(jìn)行了較詳細(xì)的講解蝗蛙,對(duì)于剛?cè)腴T的人來說還是很有幫助的。
3醉鳖、機(jī)器學(xué)習(xí)理論
??????? 這部分主要是要掌握一些典型的機(jī)器學(xué)習(xí)算法捡硅,如分類、聚類辐棒、推薦病曾、概率圖、神經(jīng)網(wǎng)絡(luò)漾根。(可以分為初級(jí)泰涂、中級(jí)和高級(jí)三個(gè)階段,每個(gè)階段的側(cè)重點(diǎn)不同辐怕。)
(1)初級(jí)階段
?????? 初級(jí)階段推薦可以看《機(jī)器學(xué)習(xí)算法原理與編程實(shí)踐 》和《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》這兩本書逼蒙。
?????? 這兩本書更偏向于算法的應(yīng)用方面,學(xué)習(xí)起來相對(duì)輕松一些寄疏。如果一上來直接就啃那些純算法理論是牢,估計(jì)很多人是堅(jiān)持不下去的。
?????? 再者陕截,一個(gè)東西驳棱,當(dāng)你還不知道它是什么,有什么用农曲,以及怎么用時(shí)社搅,讓你去硬著頭皮啃,你一定會(huì)感覺很郁悶乳规,并且根本不可能能夠深入理解那些理論形葬。
?????? 所以,個(gè)人強(qiáng)烈建議不要一上來就貪圖那些算法理論的推導(dǎo)暮的,先大膽的去了解各個(gè)算法的應(yīng)用場(chǎng)合并嘗試著應(yīng)用笙以,這對(duì)你入門機(jī)器學(xué)習(xí)是一個(gè)非常好的選擇。
(2)中級(jí)階段
?????? 中級(jí)階段就要開始啃那些算法背后的理論了冻辩,前面應(yīng)用是知其然猖腕,現(xiàn)在要開始知其所以然拆祈。
?????? 這個(gè)階段重點(diǎn)推薦看林軒田的《機(jī)器學(xué)習(xí)基石》和《機(jī)器學(xué)習(xí)技法》視頻,總共三十二課谈息,每一課都相當(dāng)精彩缘屹,細(xì)致學(xué)下來需要三個(gè)月,我指的是細(xì)致的看侠仇,每一課都應(yīng)該寫筆記轻姿,梳理脈絡(luò),強(qiáng)烈建議做筆記逻炊。
?????? 踏踏實(shí)實(shí)看完互亮,面試中讓你推個(gè)svm講講adboost,gbdt原理基本就是手到擒來余素,再輔以李航的《統(tǒng)計(jì)學(xué)習(xí)方法》和周志華的《機(jī)器學(xué)習(xí)》(俗稱“西瓜書”)查漏補(bǔ)缺豹休,基礎(chǔ)就算比較扎實(shí)了。
(3)高級(jí)階段
?????? 高級(jí)階段就是要自己開始去靈活運(yùn)用并組合各個(gè)算法了桨吊。這個(gè)階段可以在網(wǎng)上找一些比較典型的項(xiàng)目來進(jìn)行實(shí)戰(zhàn)演練威根。
?????? 推薦學(xué)習(xí)資源:Kaggle、CCF视乐、Datacastle洛搀、阿里云天池等。
?????? kaggle是國(guó)外一個(gè)專門做數(shù)據(jù)挖掘比賽的地方佑淀,里面很多比賽比較適合新人留美,而且里面的氛圍也比較好,每個(gè)比賽都有對(duì)應(yīng)的論壇伸刃,時(shí)不時(shí)有人會(huì)發(fā)布自己的代碼谎砾,大家集思廣益一起討論,可以學(xué)到很多捧颅。
??????? 如果你覺得上面的內(nèi)容對(duì)你有幫助景图,或者你想要進(jìn)一步了解和學(xué)習(xí)數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)等知識(shí),歡迎關(guān)注我的微信公眾號(hào)“DT新紀(jì)元”碉哑。