一。入門(mén):高屋建瓴
數(shù)據(jù)分析的坑很大,一開(kāi)始走上這條路,就要明確基本的方向,依托于核心的思想,不然只會(huì)越走越偏,最后覺(jué)得山太高水太深,不了了之。
1.數(shù)據(jù)與數(shù)據(jù)分析
數(shù)據(jù)其實(shí)就是對(duì)事物特征的定性指稱以及量化描述,比如一個(gè)人的身份證號(hào),年齡,收入,身高等就構(gòu)成了一組數(shù)據(jù):{id:001,age:45,income:10000,height:176}——如果把很多人的這些數(shù)據(jù)匯成表,便構(gòu)成了“ 結(jié)構(gòu)化 ”(也就是比較規(guī)整一致)的“ 數(shù)據(jù)空間 ”。
但是呢,有一些或者大部分的數(shù)據(jù)都不是規(guī)整的,也就是分布比較雜亂或者不是按照我們想要的那樣分布的(比如一個(gè)網(wǎng)頁(yè)中的文本數(shù)據(jù)分布),稱之為“ 非結(jié)構(gòu)化 ”的 數(shù)據(jù)空間 。
數(shù)據(jù)分析的本質(zhì)是什么?那就是——將這些結(jié)構(gòu)化或者非結(jié)構(gòu)化的數(shù)據(jù), 映射 到指定格式的數(shù)據(jù)空間里面,然后進(jìn)行分析—— 數(shù)據(jù)分析的基礎(chǔ)就是數(shù)據(jù)空間的映射 。
這句話說(shuō)的比較繞,但是卻非常深刻,它告訴我們,數(shù)據(jù)分析的一個(gè)基礎(chǔ)(在實(shí)踐中也是最重要)的一件事情就是尋找合適的數(shù)據(jù)空間映射方案——某種程度上就是所謂的 數(shù)據(jù)清洗 。
2.對(duì)于一些工具的看法
沿襲上文,工具則可以分為兩種,一是基礎(chǔ)性的excel,spss,sas等數(shù)據(jù)分析軟件以及許多數(shù)據(jù)庫(kù)管理工具, 它們主要處理的是結(jié)構(gòu)化的數(shù)據(jù) ,也就是給你把數(shù)據(jù)弄成了表的規(guī)整數(shù)據(jù)(當(dāng)然,這些數(shù)據(jù)很多時(shí)候也需要清洗,不過(guò)已經(jīng)不涉及數(shù)據(jù)空間映射這個(gè)問(wèn)題了);二是編程語(yǔ)言,包括python,R,Java,Ruby等, 這些語(yǔ)言工具主要是處理數(shù)據(jù)空間映射和清洗工作的 ,其中,比較常用的是python和R,前者由于其可擴(kuò)充性,已經(jīng)在大多數(shù)情況下優(yōu)于后者了。
3.學(xué)習(xí):從天而降
所謂“從天而降”指的是從一個(gè)比較高的地方下降來(lái)學(xué)習(xí)的方法,好比是拿著一張總體的地圖去探索數(shù)據(jù)分析與挖掘的世界。推薦閱讀:《 數(shù)據(jù)科學(xué)實(shí)戰(zhàn) 》。
其次,請(qǐng)注意一點(diǎn):python學(xué)習(xí),對(duì)于 沒(méi)有任何計(jì)算機(jī)基礎(chǔ) 的人來(lái)說(shuō), 基本上是開(kāi)頭容易、越往后面越難! (python一開(kāi)始的類似自然語(yǔ)言的結(jié)構(gòu)很友好,但你到了函數(shù)與面向?qū)ο蟮膶W(xué)習(xí)的時(shí)候,還是必須明確引用變量的變化(也就是數(shù)據(jù)如何在內(nèi)存中流動(dòng))以及作用域的動(dòng)態(tài)變化等對(duì)入門(mén)者不友好的問(wèn)題。)
在這種情況下,《head first python》根本不適合,不要用它學(xué)習(xí)python!
我的建議是,花時(shí)間學(xué)習(xí)一下計(jì)算機(jī)的基本原理,然后是C語(yǔ)言,Java等,然后再學(xué)python,不然你到后面完全是知其然而不知其所以然!
推薦閱讀:《 計(jì)算機(jī)科學(xué)概論(第11版 》
以及:《 瘋狂Java講義 》(這本書(shū)雖然講的是java,但對(duì)數(shù)據(jù)在內(nèi)存中的流轉(zhuǎn)也有講,可以作為參考,理解程序的運(yùn)行。)
最后才是:《 Python基礎(chǔ)教程(第2版?修訂版) 》
然后可以看看入門(mén)的統(tǒng)計(jì)學(xué)教材:《 深入淺出統(tǒng)計(jì)學(xué) 》(很快就能看完,我當(dāng)時(shí)半天多一點(diǎn)就看完了。)
以及入門(mén)與深入理解數(shù)據(jù)庫(kù)原理:《 MySQL必知必會(huì) 》+《 數(shù)據(jù)庫(kù)系統(tǒng)概念 》
有了技術(shù)基礎(chǔ)了,再看看《 R語(yǔ)言編程藝術(shù) 》
另外,入門(mén)者不要選擇python3.x,選擇python2.7吧。為啥?因?yàn)楹芏嘀匾哪K比如pandas還有網(wǎng)上的許多資料現(xiàn)在還是最多支持到2.7的,你選3.X對(duì)于入門(mén)那是舍近求遠(yuǎn)。
最后,可以使用《 利用Python進(jìn)行數(shù)據(jù)分析 》將所有知識(shí)串接起來(lái),感受pandas以及scipy,numpy中的數(shù)據(jù)計(jì)算 是如何體現(xiàn)數(shù)據(jù)空間映射這個(gè)深刻概念的。
二。中階:理論
中階主要是理論學(xué)習(xí)以及一些比較復(fù)雜的應(yīng)用操作。
1.理論基礎(chǔ):書(shū)籍
良好的數(shù)學(xué)基礎(chǔ)是進(jìn)一步學(xué)習(xí)的支撐條件。
以下是推薦閱讀的書(shū)目:
1.概率論與數(shù)理統(tǒng)計(jì):《 概率論與數(shù)理統(tǒng)計(jì) 》,進(jìn)一步學(xué)習(xí)概率與統(tǒng)計(jì);
2.高等代數(shù):《 高等代數(shù)簡(jiǎn)明教程(上冊(cè)) 》,“數(shù)據(jù)空間的映射”的思想就來(lái)自于高等代數(shù);
3.最優(yōu)化:《 最優(yōu)化理論與方法 》,參考書(shū),中階不要細(xì)讀。
4.數(shù)據(jù)挖掘:《 數(shù)據(jù)挖掘?qū)д?》,偏數(shù)學(xué),《 數(shù)據(jù)挖掘 》,偏結(jié)構(gòu)化的數(shù)據(jù)庫(kù);
5.信息檢索領(lǐng)域入門(mén):《 信息檢索導(dǎo)論 》
6.統(tǒng)計(jì)學(xué)習(xí)理論快速俯瞰:《 統(tǒng)計(jì)學(xué)習(xí)方法 》
7.實(shí)戰(zhàn)之于python:《 集體智慧編程 》+《 機(jī)器學(xué)習(xí)實(shí)戰(zhàn) 》
8.實(shí)戰(zhàn)之于Mahout平臺(tái):《 Mahout實(shí)戰(zhàn) 》
2.實(shí)戰(zhàn):利用數(shù)據(jù)庫(kù)與數(shù)據(jù)api,實(shí)戰(zhàn)學(xué)習(xí)
(1)淘寶上以及很多百度提供的一些 數(shù)據(jù)庫(kù) : API Store_為開(kāi)發(fā)者提供最全面的API服務(wù)等,都可以下載到數(shù)據(jù)進(jìn)行處理,有一些經(jīng)典的研究數(shù)據(jù)庫(kù),主要是一些大學(xué)構(gòu)建的,也可以用來(lái)訓(xùn)練模型;
(2)。學(xué)習(xí)寫(xiě) 網(wǎng)絡(luò)爬蟲(chóng) ,基于python,爬取文本數(shù)據(jù)進(jìn)行分析,其中,文本數(shù)據(jù)分析可能涉及到中文的自然語(yǔ)言處理,比較麻煩,有一些模塊可以直接使用(比如jieba),如果覺(jué)得不理想,可以嘗試爬取英文頁(yè)面。另:寫(xiě)爬蟲(chóng)必須首先理解網(wǎng)頁(yè)的數(shù)據(jù)空間,建議閱讀:《 Head First HTML與CSS、XHTML(中文版) 》;
(3)??嗑?清洗數(shù)據(jù) 的基本功——因?yàn)榇蠖鄶?shù)數(shù)據(jù)工程師的主要工作都在于此,并且在清洗的過(guò)程中,深刻理解數(shù)據(jù)空間的映射。另,清洗數(shù)據(jù)必備技能:正則表達(dá)式。建議閱讀:《 正則表達(dá)式必知必會(huì) 》;
(4)。 混合編程 與 數(shù)據(jù)可視化 :可以嘗試以python為主的混合編程(python+R)以及數(shù)據(jù)可視化,建議閱讀《 ggplot2 》
三。高階:回歸、遠(yuǎn)行、優(yōu)化與萬(wàn)法歸宗
1.回歸
總的來(lái)說(shuō),數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)相關(guān)的工作,看著很新,其實(shí)只是很久之前的理論知識(shí)的應(yīng)用罷了,在實(shí)戰(zhàn)領(lǐng)域,并沒(méi)有多少新的東西。
所以,從技術(shù)上講,我們需要回歸到那些最內(nèi)核的東西。
什么是最內(nèi)核的東西,那就是: 算法與數(shù)據(jù)結(jié)構(gòu) 。
知乎上有一些言論,說(shuō)算法與數(shù)據(jù)結(jié)構(gòu)一般情況下程序員是用不到的,這句話對(duì)于一般的寫(xiě)系統(tǒng)的程序員確實(shí)受用,但是對(duì)機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘的程序員,卻恰恰相反:我們的主要工作就是在搞算法和數(shù)據(jù)結(jié)構(gòu)。
比如貝葉斯網(wǎng)絡(luò)、人工神經(jīng)網(wǎng)絡(luò),本質(zhì)上其實(shí)還是基于圖的算法的應(yīng)用罷了。
推薦一本書(shū),比《算法導(dǎo)論》好讀:《 算法(第4版) 》
2.遠(yuǎn)行
所謂遠(yuǎn)行,就是從學(xué)習(xí)的象牙塔里面走出來(lái),走向?qū)嵱没蛘咛厥忸I(lǐng)域,比如: 金融量化分析 。
傳統(tǒng)的投資經(jīng)理,做的專業(yè)投資,本質(zhì)上根根結(jié)底是什么?那就是兩個(gè)字: 分散 。
所謂分散,說(shuō)大白話就是“把雞蛋放在多個(gè)籃子里面”,但至于怎么放,放多少,都是非常復(fù)雜的,傳統(tǒng)的手段包括建立 馬科維茲模型 與 指數(shù)模型 來(lái)作為分散的參考模型。
機(jī)器學(xué)習(xí)也是可以來(lái)做分散的,并且,知名的文藝復(fù)興技術(shù)公司做的“最大熵模型”比傳統(tǒng)的那兩大模型還要好,還能夠持續(xù)跑贏大盤(pán)。
如果你對(duì)機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘相關(guān)理論有深刻理解的話,你會(huì)發(fā)現(xiàn)一個(gè)事實(shí): 分散本質(zhì)上就是在尋找有限條件下的最大組合熵! 最大熵模型之所以有效就是因?yàn)樗褂昧顺?jí)大的數(shù)據(jù)量作為基準(zhǔn),得到了相對(duì)于傳統(tǒng)分散模型更高的熵。
這個(gè)要講很多,確實(shí)也比較高階,我就點(diǎn)到為止,將來(lái)再細(xì)談。
3.優(yōu)化
優(yōu)化主要是對(duì)python執(zhí)行效率的優(yōu)化——要知道,很多時(shí)候,量化分析對(duì)時(shí)間的要求非常嚴(yán)格,差之毫厘,損失成百上千萬(wàn)。
這個(gè)時(shí)候,就需要了解如何優(yōu)化python。
知道嗎?python是用C寫(xiě)出來(lái)的, 如果你優(yōu)化的好,你的python可能比C還要快!
優(yōu)化問(wèn)題本質(zhì)上是一個(gè)局部最優(yōu)與全局最優(yōu)權(quán)衡的問(wèn)題,有空細(xì)講。
優(yōu)化的另外一個(gè)問(wèn)題是 數(shù)值計(jì)算 ,包括矩陣的分塊計(jì)算、并行計(jì)算,MapReduce對(duì)大量數(shù)據(jù)的處理等,這也是比較復(fù)雜的,有空細(xì)講。
4.萬(wàn)法歸宗:信息論
數(shù)據(jù)處理的的最高境界,其實(shí)是對(duì)信息論的深刻理解。
算法優(yōu)化,大量問(wèn)題都是把指數(shù)問(wèn)題變?yōu)閷?duì)數(shù)問(wèn)題,其實(shí)根本原理是信息論;
量化分析,買入賣出的博弈,每一次交易如何暴露出信息的?
投資組合,如何在限制條件內(nèi)產(chǎn)生最大熵?
文本挖掘、數(shù)據(jù)壓縮,隱馬爾科夫鏈,如何用最少的信息映射原空間?
-
工程師
+關(guān)注
關(guān)注
59文章
1603瀏覽量
71234
發(fā)布評(píng)論請(qǐng)先 登錄
陶瓷、電解、鉭電容到底怎么選?一個(gè)視頻搞懂硬件工程師基本功 #電子 #電子工程師 #電容 #揚(yáng)興科技
研發(fā)工程師和測(cè)試工程師對(duì)于產(chǎn)品新功能的見(jiàn)解有何不同?#電子工程師 #電路知識(shí) #人工智能
如何成為一名高薪嵌入式工程師?
電子工程師的雙標(biāo)瞬間 #電子 #電子愛(ài)好者 #電子工程師 #揚(yáng)興科技 #雙標(biāo)
電子工程師設(shè)計(jì)要點(diǎn)與經(jīng)驗(yàn)分享
電子工程師看書(shū)的四個(gè)階段 #電子 #硬件工程師 #電子愛(ài)好者 #反轉(zhuǎn) #揚(yáng)興科技
什么是BSP工程師
硬件工程師:這才是真正的大學(xué)生就業(yè)指導(dǎo) #電子 #硬件工程師 #電子愛(ài)好者 #晶振 #揚(yáng)興科技
電子工程師設(shè)計(jì)要點(diǎn)與經(jīng)驗(yàn)分享
想成為硬件工程師?我教你??!你得先學(xué)會(huì)這些...... #硬件工程師 #電子工程師 #電子愛(ài)好者 #電子行業(yè)
硬件工程師面試必會(huì):10個(gè)核心考點(diǎn)#硬件設(shè)計(jì) #硬件工程師 #電路設(shè)計(jì) #電路設(shè)計(jì)
作為一名PCB質(zhì)檢工程師,我為什么在用手持式面銅測(cè)試儀?
怎樣成為一名真正的數(shù)據(jù)工程師
評(píng)論