工欲善其事必先利其器(大數(shù)據(jù)分析工具集)
大數(shù)據(jù)時代需要大數(shù)據(jù)挖掘,我習(xí)慣把大數(shù)據(jù)分成四個領(lǐng)域:數(shù)據(jù)科學(xué)、網(wǎng)絡(luò)科學(xué)、空間地理科學(xué)和可視化技術(shù);
最近的主要興趣在空間地理領(lǐng)域,學(xué)習(xí)如何獲取POI,Polygon,經(jīng)緯度,空間匹配算法和可視化,一個全新領(lǐng)域有帶來諸多大數(shù)據(jù)分析工具的思考和整合。
恰巧看到一篇國外博客列舉了大數(shù)據(jù)領(lǐng)域的分析工具,俺的微信公號也曾經(jīng)寫過兩篇:
數(shù)據(jù)工匠 | 工欲善其事必先利其器(數(shù)據(jù)分析工具集一)
數(shù)據(jù)工匠 | 工欲善其事必先利其器(數(shù)據(jù)分析工具集二)
今天就接著把數(shù)據(jù)分析主要是大數(shù)據(jù)挖掘的工具集三寫下來:
順勢俺在總結(jié)一下:
我了解和喜歡的大數(shù)據(jù)挖掘工具主要分成:提取,存儲,清洗,挖掘,可視化,分析和集成語言領(lǐng)域。
數(shù)據(jù)存儲和管理
如果你要使用大數(shù)據(jù),你需要考慮如何存儲它。大數(shù)據(jù)個人一般玩起來常常是幾百兆、或G;當(dāng)然企業(yè)級就可能不是這個側(cè)面了,T或P級,一個好的數(shù)據(jù)存儲提供商應(yīng)該為您提供一個基礎(chǔ)架構(gòu),在其上運行所有其他分析工具以及存儲和查詢數(shù)據(jù)的地方。
Hadoop
Hadoop已經(jīng)成為大數(shù)據(jù)的代名詞。它是一個用于在計算機集群上分布式存儲大型數(shù)據(jù)集的開源軟件框架。這意味著可以上下擴展數(shù)據(jù),而無需擔(dān)心硬件問題。Hadoop為任何類型的數(shù)據(jù)提供大量的存儲,巨大的數(shù)據(jù)處理能力和處理虛擬***并發(fā)任務(wù)或作業(yè)的能力。Hadoop不適合數(shù)據(jù)初學(xué)者。要真正利用它,真的需要知道Java編程。
Cloudera
Cloudera本質(zhì)上是一個Hadoop的品牌名稱。它們可以幫助企業(yè)構(gòu)建企業(yè)數(shù)據(jù)中心,以便您組織中的人員更好地訪問您存儲的數(shù)據(jù)。
雖然它是開源,Cloudera主要還是企業(yè)解決方案,幫助企業(yè)管理他們的Hadoop生態(tài)系統(tǒng)?;旧?,利用它管理Hadoop很多艱苦的工作。還可提供一定量的數(shù)據(jù)安全性,如果您存儲任何敏感或個人數(shù)據(jù),這是非常重要的。
MongoDB
MongoDB的是現(xiàn)代,流行的非結(jié)構(gòu)化數(shù)據(jù)庫,但又可視為關(guān)系數(shù)據(jù)庫的替代品。它適用于管理經(jīng)常更改的數(shù)據(jù)或非結(jié)構(gòu)化或半結(jié)構(gòu)化的數(shù)據(jù)。
常見應(yīng)用包括存儲移動應(yīng)用程序的數(shù)據(jù),產(chǎn)品目錄,實時個性化,內(nèi)容管理和跨多個系統(tǒng)提供單個視圖的應(yīng)用程序。MongoDB也不適合數(shù)據(jù)新手,與任何數(shù)據(jù)庫一樣,您需要知道如何使用編程語言進行查詢。
Talend
Talend是另一個偉大的開源數(shù)據(jù)庫,提供了大量的數(shù)據(jù)產(chǎn)品。這里我們專注于他們的主數(shù)據(jù)管理(MDM-元數(shù)據(jù)管理)產(chǎn)品,它將實時數(shù)據(jù),應(yīng)用程序和過程集成與嵌入式數(shù)據(jù)質(zhì)量和管理相結(jié)合。
它是開源的,Talend是完全免費的,Talend都是一個很好的選擇。它可以節(jié)省您構(gòu)建和維護自己的數(shù)據(jù)管理系統(tǒng) ——這是一個非常復(fù)雜和困難的任務(wù)。
從頭開始
如果你是大數(shù)據(jù)的新手,數(shù)據(jù)庫可能不是***的開始。它們相對復(fù)雜,并且需要一定量的編碼知識來操作(與下面提到的許多其他工具不同)。
然而,如果你真的想在大數(shù)據(jù)中工作,那么知道數(shù)據(jù)庫的基礎(chǔ)知識并且能夠智能地談?wù)撍鼈兪潜仨毜摹N覀冃枰媪私獯髷?shù)據(jù)的技術(shù),包括數(shù)據(jù)庫和存儲的歷史,關(guān)系數(shù)據(jù)庫和文檔數(shù)據(jù)庫之間的差異,大數(shù)據(jù)的挑戰(zhàn)和必要的工具,以及Hadoop的介紹。
不過從個人玩大數(shù)據(jù)的角度,我個人推薦:PostgreSQL、MySQL、以及JSON、GeoJSON等數(shù)據(jù)存儲形式,當(dāng)然個人主要是CSV格式的數(shù)據(jù)包或數(shù)據(jù)集。
特別強調(diào),對于數(shù)據(jù)庫來講重要的是需要掌握SQL查詢語言
數(shù)據(jù)清洗
在您可以真正挖掘所謂大數(shù)據(jù)并能獲取洞察信息建模之前,您需要清理它。擁有或創(chuàng)造一個干凈,結(jié)構(gòu)良好的數(shù)據(jù)集有時是不可能的。數(shù)據(jù)集可以有各種形狀和大小的(有些好,有些不太好!),特別是當(dāng)你從網(wǎng)絡(luò)上獲得它。下面的數(shù)據(jù)清洗軟件工具將幫助您細化數(shù)據(jù)并將其重塑為可用的數(shù)據(jù)集。(部分工具都有特征工程的技術(shù))
OpenRefine
OpenRefine(原GoogleRefine)是一個開源工具,專門用于清理雜亂的數(shù)據(jù)。我們可以輕松,快速地探索巨大的數(shù)據(jù)集,即使數(shù)據(jù)有點非結(jié)構(gòu)化。
就數(shù)據(jù)軟件而言,OpenRefine是非常用戶友好的。雖然,良好的數(shù)據(jù)清洗的原則和基礎(chǔ)知識肯定有幫助。OpenRefine的好處是它有一個巨大的社區(qū),有很多貢獻者意味著軟件不斷變得越來越好。你可以問(非常有幫助和患者)社區(qū)的問題,如果你陷入困境。你可以看看他們的Github上庫在這里你還可以找到OpenRefine維基。
DataCleaner
數(shù)據(jù)處理是一項長期而艱苦的任務(wù)。數(shù)據(jù)可視化工具只能讀取結(jié)構(gòu)良好,“干凈”的數(shù)據(jù)集。DataCleaner為我們做艱苦的工作,并將凌亂的半結(jié)構(gòu)化數(shù)據(jù)集轉(zhuǎn)換為所有可視化軟件可以讀取的干凈可讀的數(shù)據(jù)集。
DataCleaner還提供數(shù)據(jù)倉庫和數(shù)據(jù)管理服務(wù)。該公司提供30天免費試用,然后是每月訂閱費。
說明:我主要用于清洗的工具是refine
數(shù)據(jù)挖掘
這里不要與數(shù)據(jù)提取(后面討論)混淆,數(shù)據(jù)挖掘是在數(shù)據(jù)庫中發(fā)現(xiàn)洞察,而不是將數(shù)據(jù)從網(wǎng)頁提取到數(shù)據(jù)庫中的過程。數(shù)據(jù)挖掘的目的是對你手頭的數(shù)據(jù)進行預(yù)測、建模和決策。
RapidMiner
RapidMiner是預(yù)測分析一個奇妙的工具。它是強大的,易于使用,并有一個開源社區(qū)背后。甚至可以通過其API將自己的專用算法集成到RapidMiner中。圖形界面,這意味著你不需要知道如何代碼。
IBM SPSS Modeler
在IBM SPSS Modeler中提供了一整套專用于數(shù)據(jù)挖掘解決方案套件。這包括文本分析,實體分析,決策管理和優(yōu)化。他們的五個產(chǎn)品提供了一系列先進的算法和技術(shù),包括文本分析,實體分析,決策管理和優(yōu)化。
SPSS Modeler是一個重型解決方案,非常適合大公司的需求。它可以運行在幾乎任何類型的數(shù)據(jù)庫,可以與其他IBM SPSS產(chǎn)品,如SPSS協(xié)作與部署服務(wù)和SPSS分析服務(wù)器集成。
KNIME
它也是一個開源的數(shù)據(jù)挖掘軟件,主要推薦理由:1-開源,2-擁有60多個案例,3-有社區(qū)和Labs,4-能夠集成R和Python等
商業(yè)上真正的數(shù)據(jù)挖掘工具都會融入Oracle、TeraData等數(shù)據(jù)庫產(chǎn)品中。
Kaggle
如果你被困在一個數(shù)據(jù)挖掘問題,或想嘗試解決世界上最棘手的問題,Kaggle是世界上***的數(shù)據(jù)科學(xué)社區(qū)。公司和研究人員發(fā)布他們的數(shù)據(jù)和統(tǒng)計人員和來自世界各地的數(shù)據(jù)挖掘者競爭產(chǎn)生***的模型。
我主要用的挖掘軟件工具:Modeler和Knime
數(shù)據(jù)分析
盡管數(shù)據(jù)挖掘是挖掘先前未知的知識,是一種自下而上的發(fā)現(xiàn)知識的過程,也稱為KDD。數(shù)據(jù)分析往往是自上而下的基于理論假設(shè)下的探索過程和推斷未知。Google Analytics(分析)是關(guān)于提出具體問題并在數(shù)據(jù)中找到答案。可以問關(guān)于未來會發(fā)生什么的問題!
Qubole
Qubole簡化,速度和規(guī)模與存儲在AWS上(亞馬遜云計算)、谷歌數(shù)據(jù)大數(shù)據(jù)分析工作云計算平臺。一旦IT策略到位,任何數(shù)量的數(shù)據(jù)分析人員都可以隨著Hive,Spark,BigQuery等眾多數(shù)據(jù)處理引擎的強大功能自由協(xié)作“點擊查詢”。
Qubole是一個企業(yè)級解決方案,它們提供了一個免費試用。
BigML
BigML試圖簡化機器學(xué)習(xí)。它們提供了一個強大的機器學(xué)習(xí)服務(wù),具有易于使用的界面,您可以導(dǎo)入數(shù)據(jù)并獲取預(yù)測。您甚至可以使用他們的模型進行預(yù)測分析。
對模型的良好理解當(dāng)然有幫助,但不是必要的,如果你想從BigML中獲得分析,他們有一個免費版本的工具,允許您創(chuàng)建不到16mb的任務(wù),以及有一個付費計劃和虛擬私有云滿足企業(yè)級的要求。
Statwing
Statwing將數(shù)據(jù)分析提高到一個新的水平,提供從美麗的視覺效果到復(fù)雜的分析。它使用起來很簡單,你可以在5分鐘內(nèi)開始使用Statwing。
雖然它不是免費使用,定價計劃是相當(dāng)優(yōu)雅?;咎撞褪敲吭?0美元,您可以隨時取消。這允許您使用每個大小不超過50mb的***數(shù)據(jù)集。還有其他企業(yè)計劃,讓您能夠上傳更大的數(shù)據(jù)集。
數(shù)據(jù)可視化
數(shù)據(jù)可視化公司將使您的數(shù)據(jù)變得生機勃勃。對于任何數(shù)據(jù)科學(xué)家面臨的挑戰(zhàn)的一部分是從傳送的數(shù)據(jù)的洞察到你的公司的其他部門。對于大多數(shù)人來說,MySQL數(shù)據(jù)庫和電子表格依然會用。但可視化是傳達復(fù)雜數(shù)據(jù)洞察的一種明亮而簡單的方法。大部分可視化都不需要任何編碼!
Tableau
Tableau是一個主要專注于商業(yè)智能數(shù)據(jù)可視化工具。您可以創(chuàng)建地圖,條形圖,散點圖等等,而無需編程。他們最近發(fā)布了一個Web連接器,允許您連接到數(shù)據(jù)庫或API,從而使您能夠在可視化中獲取實時數(shù)據(jù)。
SILK
silk是一個簡單得多的數(shù)據(jù)可視化和比的Tableau的分析工具。它允許您通過構(gòu)建交互式地圖和圖表,只需點擊幾下鼠標(biāo),帶來您的數(shù)據(jù)。Silk還允許您與任意數(shù)量的人員進行可視化協(xié)作。
像很多這個名單上的可視化的公司,Silk不要求你是一個專家程序員。如果你是新的可視化數(shù)據(jù),這是開始,因為他們的地方***的功能試圖無需你做任何事情會自動顯示數(shù)據(jù)。
CartoDB
CartoDB是一個地圖數(shù)據(jù)可視化工具,專門制作地圖。它們使任何人都可以輕松地可視化位置數(shù)據(jù),而無需任何編碼。CartoDB可以管理數(shù)據(jù)文件和類型無數(shù),他們甚至有樣本數(shù)據(jù)集,
如果你有位置數(shù)據(jù),CartoDB絕對值得一看。它可能不是最簡單的系統(tǒng)使用,但一旦你得到它的懸念,它是令人難以置信的強大。
Chartio
Chartio可以讓你在瀏覽器中的數(shù)據(jù)源相結(jié)合,執(zhí)行查詢。您只需點擊幾下即可創(chuàng)建強大的儀表板。Chartio的視覺查詢語言允許任何人從任何地方獲取數(shù)據(jù),而不必知道SQL或其他復(fù)雜的模型語言。它們還允許您計劃PDF報告,以便您可以將PDF文件導(dǎo)出為儀表板并通過電子郵件發(fā)送給任何您想要的人。
Chartio的另一個很酷的事情是,它通常不需要數(shù)據(jù)倉庫。這意味著您將更快地啟動和運行,并且您的實施成本將更低,更可預(yù)測。
Plot.ly
如果你想建立一個圖和嵌入程序中Plot.ly是不錯的選擇。您可以創(chuàng)造驚人的2D和3D圖表,所有不需要編程知識。
免費版本允許您創(chuàng)建一個私人圖表和***公共圖表,或者您可以升級到企業(yè)包以制作***的私人和公共圖表,以及為您提供矢量導(dǎo)出和保存自定義主題的選項。
DataWrapper數(shù)據(jù)包
我們最終的可視化工具是Datawrapper。它是一個開源工具,在幾分鐘內(nèi)創(chuàng)建可嵌入的圖表。因為它是開源的,它將不斷發(fā)展,因為任何人都可以貢獻。他們有一個真棒圖表庫,你可以檢查出的那種東西的人都與Datawrapper做。
它有一個免費工具和一個付費選項,付費選項是一個預(yù)先設(shè)置,自定義的Datawrapper包。
說明:俺提建議主要用百度的開源產(chǎn)品Echarts,部分考慮D3.js
數(shù)據(jù)集成
數(shù)據(jù)集成平臺是每個程序之間的粘合劑。如果你想連接你使用Import.io與Twitter中提取的數(shù)據(jù),或者您希望在Facebook上分享你用的Tableau或絲綢自動進行可視化,下面是集成服務(wù)工具。
Blockspring
Blockspring是類似在熟悉的如Excel和谷歌sheet的方式。您只需撰寫Google Sheet公式,即可連接到整個主機的第三方程序。您可以從電子表格發(fā)布社交博客,查看您的關(guān)注者關(guān)注者,以及連接到AWS,Import.io和Tableau等等。
Blockspring可以免費使用,但它們也有一個包,允許您創(chuàng)建和共享私有函數(shù),添加自定義標(biāo)簽,以方便搜索和發(fā)現(xiàn),并為您的整個組織一次性設(shè)置API令牌。
Pentaho
Pentaho提供大數(shù)據(jù)集成所需的零編碼。使用簡單的拖放UI,您可以集成許多工具與最小的編碼。他們還提供嵌入式分析和業(yè)務(wù)分析服務(wù)。
Pentaho是一個企業(yè)解決方案。
數(shù)據(jù)語言
雖然今天的挖掘工具變得越來越強大和更容易使用,有時學(xué)會編程還是必要的,特別是工程和產(chǎn)品層面。即使你不是一個程序員,理解這些語言如何工作的基礎(chǔ)知識將使你更好地了解這些工具有多少功能以及如何***地使用它們。
R語言
R是用于統(tǒng)計計算和圖形的語言。如果上面列出的數(shù)據(jù)挖掘和統(tǒng)計軟件不能做你想要的,學(xué)習(xí)R是好方式。事實上,如果你打算成為一個數(shù)據(jù)科學(xué)家,知道R是必須的。
它可以在Linux,Windows和MacOS上運行,你可以下載開源R。有一個巨大的統(tǒng)計學(xué)家社區(qū),人氣很旺。
Python
另一種在數(shù)據(jù)社區(qū)越來越受歡迎的語言是Python。創(chuàng)建于20世紀80年代,從Monty Python的Flying Circus命名,它一直在世界排名前十的***的編程語言。如果數(shù)據(jù)收集工具無法獲取他們需要的數(shù)據(jù),許多記者使用Python編寫自定義的爬蟲。
人們喜歡它,因為與英語的相似之處。它使用諸如’if’和’in’這樣的詞語,你可以很容易地閱讀腳本。
說明:俺主要用Jupyter或Ipython Notebook
RegEx
RegEx或正則表達式是一組可以操作和更改數(shù)據(jù)的字符。它主要用于與字符串的模式匹配,或字符串匹配。
XPath
XPath是一種查詢語言,用于從XML文檔中選擇某些節(jié)點。而RegEx操縱和更改數(shù)據(jù)組成,XPath將提取準(zhǔn)備好RegEx的原始數(shù)據(jù)。
XPath最常用于數(shù)據(jù)提取。
說明:如果你需要編寫爬蟲或者抓取web網(wǎng)頁,都需要學(xué)習(xí)正則表達和xpath,同時學(xué)習(xí)json數(shù)據(jù)格式,還要有一定的API接口技術(shù)。
說明:最近年末各種活動太多,沒時間寫,當(dāng)然主要是懶了,這篇文章不錯學(xué)習(xí)后先google翻譯了一下,稍微整理了下,寫了幾天。