分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

金鑫工程師發表於2019-01-21

資料科學與大資料技術是一門偏向應用的學科領域,因此工具就成為重要的組成部分。在工作中,資料科學家如果選擇有效的工具會帶來事半功倍的效果。一般來說,資料科學家應該具有運算元據庫、資料處理和資料視覺化等相關技能,還有很多人還認為計算機技能也是不可或缺的,可以提高資料科學家工作的效率。

開源社群多年來對資料科學工具包開發有著巨大貢獻,這也讓資料科學領域得以不斷進步。這裡我們收集了一些在資料庫、程式語言、機器學習、視覺化、計算機等方面的開源工具。希望可以幫助到更多資料科學家及對這個領域感興趣的人。

1. 資料庫

1.1 MongoDB

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

MongoDB是一個以可伸縮性和高效能著稱的NoSQL資料庫。它提供了傳統資料庫的強大替代品,並使特定應用程式中的資料整合更加容易。特別適用於構建大型web應用程式。

1.2 Apache HBase

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Apache HBase(Hadoop資料庫)是一個分散式、可擴充套件的大資料儲存。資料科學家在需要對大資料進行隨機、實時讀/寫訪問時,可以使用這個開源工具。

2. 程式語言

2.1 R

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

R是一種用於資料處理和圖形處理的程式語言,是資料科學家和分析人員使用的一種流行工具。根據資料科學家的說法,R語言是最容易學習的語言之一,因為有大量的包和指南可供使用者使用。

2.2 Python

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Python是資料科學家中另一種廣泛使用的語言,它是一種通用程式語言,著眼於可讀性和簡單性。而且python中有非常多可以用於資料處理、機器學習和視覺化的程式碼庫。

* 資料科學中常用的庫見文章:https://mp.weixin.qq.com/s/dLrZWsqrZW7XqG6phS3R7g

2.3 Scala

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Scala是一種執行在Java平臺上的通用程式語言。它適用於大型資料集,主要用於Apache Spark和Apache Kafka等大資料工具。這種函數語言程式設計風格帶來了速度和更高的生產率,這導致越來越多的公司慢慢地將其作為資料科學工具包的重要組成部分加以適應。

2.4 SQL

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

SQL是用於儲存在關聯式資料庫中的資料的專用程式語言。SQL用於更基本的資料分析,可以執行組織和運算元據或從資料庫檢索資料等任務。在資料科學工具中,它是在資料庫中過濾和選擇資料的最佳工具之一。

2.5 Julia

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Julia是一種用於技術計算的動態程式語言。它沒有被廣泛使用,但由於其靈活性、設計和效能,在資料科學工具中越來越受歡迎。

3. 資料探勘

3.1 RapidMiner

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

RapidMiner是一個具有視覺化和統計建模功能的預測分析工具。該軟體的基礎是RapidMiner Studio,它是一個免費的開源平臺。

3.2 Data Melt

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Data Melt是一款數學軟體,擁有先進的數學計算、統計分析和資料探勘功能,而且可以通過程式語言進行補充,甚至包含一個廣泛的教程庫。

此外,Python和R中都有很多用於資料探勘的庫,這裡就不再贅述了。

4. 機器學習

4.1 Weka

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Weka是由懷卡託大學用Java編寫的機器學習軟體。它用於資料探勘,允許使用者處理大資料集。Weka的一些特性包括預處理、分類、迴歸、聚類、實驗、工作流和視覺化。

4.2 TensorFlow

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

TensorFlow是一個用於數值計算的軟體庫,它允許程式設計師在不需要理解其背後的一些複雜原理的情況下的應用深度學習,並被列為幫助數千家公司應用深度學習的資料科學工具之一。

4.2 Apache Mahout

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Apache Mahout是一種構建可伸縮機器學習演算法的環境。演算法是在Hadoop上編寫的。Mahout實現了三個主要的機器學習任務:協同過濾、聚類和分類。

4.3 Orange

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Orange一個是簡單的資料科學工具,它致力於使資料科學變得有趣和互動式,允許使用者在不需要編碼的情況下分析和視覺化資料,也為初學者提供機器學習選項。

4.4 MLBase

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

MLBase是加州大學伯克利分校的AMP(演算法機器人)實驗室開發的一個開源專案。背後的核心思想是為機器學習應用於大規模問題提供一個簡單的解決方案。

5. 資料視覺化

5.1 D3

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

5.2 Axiis

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

在資料科學工具中,Axiis是一個鮮為人知的資料視覺化框架。它允許使用者以一種富有表現力和簡潔的形式使用預先構建的元件構建圖表和探索資料。

6. 其他工具

6.1 Linux

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Bash指令碼是電腦科學中最基本的工具,並且資料科學中很大一部分需要程式設計,必須用一些命令列來處理包、框架管理、環境變數、訪問路徑($PATH)等等,因此Linux是必要的。

6.2 Git

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

在團隊中編碼時,可以藉助 git解決團隊成員程式碼衝突、修復bug、更新。將程式碼提交到開源或私有的repo(如Github)時,可以使用Coveralls之類的東西進行程式碼測試,還有幫助部署程式碼到生產中的其他框架。

6.3 REST APIs

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

REST APIs可以讓本地的訓練模型和可用程式無縫銜接。通過標準API呼叫或開發可用的應用程式真正讓資料科學模型進行預測。這也是其在資料科學中的巨大作用。

6.4 Docker & Kubernetes

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Docker讓使用者擁有一個生產就緒(production ready)的應用環境,不需要為每個執行的單個服務集中配置生產伺服器。與需要安裝完整作業系統的虛擬機器不同,docker容器在與主機相同的核心上執行,並且輕量得多。一些高階的機器學習庫(如Tensorflow)需要特定的配置,很難在某些主機上進行故障排除,docker就是一個很好地選擇。

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Kubernetes(K8s)是一個在多主機上進行規模管理和部署容器化服務的平臺。本質上,這意味著您可以輕鬆地通過跨水平可擴充套件叢集,管理和部署docker容器。

6.5 Apache Airflow

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Airflow是一個較為小眾的Python平臺,可以使用有向無環圖(DAG)程式化地建立、排程和監控工作流。它能讓你可以隨時根據需要輕鬆地設定Python或bash指令碼,並在使用者友好的GUI中控制排程作業。

6.6 Elasticsearch

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Elasticsearch也是一個比較小眾的工具。Elastic通過Python客戶端便捷地提供了所需的一切,讓你可以輕鬆地以容錯和可擴充套件的方式索引和搜尋文件。你擁有的資料越多,啟動的節點就越多,查詢執行的速度就越快。它有很多功能,甚至支援多語言分析器等定製外掛。

6.7 Homebrew

分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具

Homebrew是一個Mac OS系統的工具,可以幫助不能開箱即用的OS系統通過終端命令進行安裝, 彌補了OS系統無包管理的缺陷。


相關文章