在巨大的數(shù)據(jù)集中進(jìn)行篩選的*工具是什么?通過和數(shù)據(jù)駭客的交流,我們知道了他們用于硬核數(shù)據(jù)分析最喜歡的語言和工具包。以下是小編為你整理的怎么樣學(xué)習(xí)大數(shù)據(jù) ?
在這些語言名單中,如果R語言排第二,那就沒其他能排*。自1997年以來,作為昂貴的統(tǒng)計軟件,如Matlab和SAS的免費(fèi)替代品,它漸漸風(fēng)靡全球。 ?
在過去的幾年時間中,R語言已經(jīng)成為了數(shù)據(jù)科學(xué)的寵兒——數(shù)據(jù)科學(xué)現(xiàn)在不僅僅在書呆子一樣的統(tǒng)計學(xué)家中人盡皆知,而且也為華爾街交易員,生物學(xué)家,和硅谷開發(fā)者所家喻戶曉。各種行業(yè)的公司,例如Google,F(xiàn)acebook,美國銀行,以及紐約時報都使用R語言,R語言正在商業(yè)用途上持續(xù)蔓延和擴(kuò)散。 ?
R語言有著簡單而明顯的吸引力。使用R語言,只需要短短的幾行代碼,你就可以在復(fù)雜的數(shù)據(jù)集中篩選,通過先進(jìn)的建模函數(shù)處理數(shù)據(jù),以及創(chuàng)建平整的圖形來代表數(shù)字。它被比喻為是Excel的一個極度活躍版本。
?
R語言最偉大的資本是已圍繞它開發(fā)的充滿活力的生態(tài)系統(tǒng):R語言社區(qū)總是在不斷地添加新的軟件包和功能到它已經(jīng)相當(dāng)豐富的功能集中。據(jù)估計,超過200萬的人使用R語言,并且最近的一次投票表明,R語言是迄今為止在科學(xué)數(shù)據(jù)中*的語言,被61%的受訪者使用(其次是Python,39%)。 ?
此外,它的身影也漸漸出現(xiàn)在了華爾街。以前,銀行分析師會全神貫注于Excel文件直到深夜,但現(xiàn)在R語言被越來越多地用于金融建模R,特別是作為一種可視化工具,Niall O’Connor,美國銀行的副總裁如是說。 “R語言使我們平凡的表格與眾不同,”他說。 ?
R語言的日漸成熟,使得它成為了數(shù)據(jù)建模的*語言,雖然當(dāng)企業(yè)需要生產(chǎn)大型產(chǎn)品時它的能力會變得有限,也有的人說這是因?yàn)樗牡匚徽诒黄渌Z言篡奪。 ?
“R更適合于做一個草圖和大概,而不是詳細(xì)的構(gòu)建,”Michael Driscoll,Metamarkets的首席執(zhí)行官說。 “你不會在谷歌的網(wǎng)頁排名以及Facebook的朋友推薦算法的核心找到R語言。工程師會用R語言做原型,然后移交給用Java或Python寫的模型?!? ?
話說回來,早在2010年,Paul Butler就以R語言打造了全球的Facebook地圖而著名,這證明了該語言豐富的可視化功能。盡管他現(xiàn)在已經(jīng)不像以前那樣頻繁地使用R語言了。 ?
“R正在一點(diǎn)點(diǎn)地過時,因?yàn)樗木徛吞幚泶笮蛿?shù)據(jù)集的笨重,”Butler說。 ?
大數(shù)據(jù)分析方法 ?
大數(shù)據(jù)挖掘:定義目標(biāo),并分析問題 ?
開始大數(shù)據(jù)處理前,應(yīng)該定好處理數(shù)據(jù)的目標(biāo), ?
然后才能開始數(shù)據(jù)挖掘。 ?
例如: ?
統(tǒng)計最近三年的畢業(yè)生的各種情況。 ?
那么就應(yīng)該把畢業(yè)生相關(guān)的信息都要搜集一遍下來。 ?
大數(shù)據(jù)挖掘:建立模型,采集數(shù)據(jù) ?
可以通過網(wǎng)絡(luò)爬蟲,或者歷年的數(shù)據(jù)資料, ?
建立對應(yīng)的數(shù)據(jù)挖掘模型,然后采集數(shù)據(jù), ?
獲取到大量的原始數(shù)據(jù)。 ?
大數(shù)據(jù)挖掘:導(dǎo)入并準(zhǔn)備數(shù)據(jù) ?
在通過工具或者腳本,將原始轉(zhuǎn)換成可以處理的數(shù)據(jù), ?
例如:MySQL,數(shù)據(jù)文本. ?
大數(shù)據(jù)分析算法:機(jī)器學(xué)習(xí) ?
通過使用機(jī)器學(xué)習(xí)的方法, ?
處理采集到的數(shù)據(jù)。 ?
根據(jù)具體的問題來定。 ?
這里的方法就特別多。 ?
常見的方法有: ?
人工神經(jīng)網(wǎng)絡(luò) ?
隨機(jī)森林樹 ?
LMS算法 ?
HIVE(數(shù)據(jù)倉庫) ?
由facebook開源,最初用于解決海量結(jié)構(gòu)化的日志數(shù)據(jù)統(tǒng)計問題。 ?
Hive定義了一種類似SQL的查詢語言(HQL),將SQL轉(zhuǎn)化為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于離線分析。 ?
HQL用于運(yùn)行存儲在Hadoop上的查詢語句,Hive讓不熟悉MapReduce開發(fā)人員也能編寫數(shù)據(jù)查詢語句,然后這些語句被翻譯為Hadoop上面的MapReduce任務(wù)。
?
Pig(ad-hoc腳本) ?
由yahoo!開源,設(shè)計動機(jī)是提供一種基于MapReduce的ad-hoc(計算在query時發(fā)生)數(shù)據(jù)分析工具 ?
Pig定義了一種數(shù)據(jù)流語言—Pig Latin,它是MapReduce編程的復(fù)雜性的抽象,Pig平臺包括運(yùn)行環(huán)境和用于分析Hadoop數(shù)據(jù)集的腳本語言(Pig Latin)。 ?
其編譯器將Pig Latin翻譯成MapReduce程序序列將腳本轉(zhuǎn)換為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于進(jìn)行離線分析。 ?
Sqoop(數(shù)據(jù)ETL/同步工具) ?
Sqoop是SQL-to-Hadoop的縮寫,主要用于傳統(tǒng)數(shù)據(jù)庫和Hadoop之前傳輸數(shù)據(jù)。數(shù)據(jù)的導(dǎo)入和導(dǎo)出本質(zhì)上是Mapreduce程序,充分利用了MR的并行化和容錯性。 ?
Sqoop利用數(shù)據(jù)庫技術(shù)描述數(shù)據(jù)架構(gòu),用于在關(guān)系數(shù)據(jù)庫、數(shù)據(jù)倉庫和Hadoop之間轉(zhuǎn)移數(shù)據(jù)。 ?
大數(shù)據(jù)必備的數(shù)據(jù)結(jié)構(gòu)與算法: ?
1. 數(shù)據(jù)結(jié)構(gòu)和算法概述 ?
2. 數(shù)組、鏈表、隊列、棧等線性表 ?
3. 二叉樹、BST、AVL 樹及二叉樹的遞歸與非遞歸遍歷 ?
4. B+ ?
5. 跳表 ?
6. 圖、圖的存儲、圖的遍歷 ?
7. 有向圖、無向圖、懶惰與積極的普利姆算法、克魯斯卡爾算法及 MST、單源最短路徑問題及 Dijkstra 算法 ?
8. 并查集與索引式優(yōu)先隊列、二叉堆 ?
9. 遺傳算法初步與 TSP 問題 ?
10. 內(nèi)部排序(直接插入、選擇、希爾、堆排序、快排、歸并等)算法與實(shí)踐中的優(yōu)化 ?
11. 外部排序與優(yōu)化(文件編碼、數(shù)據(jù)編碼、I/O 方式與 JVM 特點(diǎn)、多線程、多路歸并等) ?
12. 哈希表、Trie 樹、倒排索引、分布式索引初步(Map-Reduce) ?