分類推薦&通俗易懂:資料科學與大資料技術專業領域的實用工具
資料科學與大資料技術是一門偏向應用的學科領域,因此工具就成為重要的組成部分。在工作中,資料科學家如果選擇有效的工具會帶來事半功倍的效果。一般來說,資料科學家應該具有運算元據庫、資料處理和資料視覺化等相關技能,還有很多人還認為計算機技能也是不可或缺的,可以提高資料科學家工作的效率。
開源社群多年來對資料科學工具包開發有著巨大貢獻,這也讓資料科學領域得以不斷進步。這裡我們收集了一些在資料庫、程式語言、機器學習、視覺化、計算機等方面的開源工具。希望可以幫助到更多資料科學家及對這個領域感興趣的人。
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系統無包管理的缺陷。
相關文章
- 機器學習和資料科學領域,推薦幾本學習書單機器學習資料科學
- 大資料要學習哪些技術呢?大資料技術的分類與選擇路線大資料
- 資料科學家和大資料技術人員工具包資料科學大資料
- 能源和公用事業領域的 10 大資料科學用例 - KDnuggets大資料資料科學
- 大資料領域三個大的技術方向大資料
- 搜尋推薦技術在電商導購領域的應用(三):自動分類
- 強烈推薦!大資料領域的頂級開源工具大集合大資料開源工具
- 百分點大資料技術團隊:應急領域資料治理“N步法”實踐探究大資料
- 大資料技術原理與應用——大資料概述大資料
- 【資料科學家】跨入商業分析、資料科學、挖掘領域必須哪些基本數學知識資料科學
- 大資料:商業革命與科學革命大資料
- 科學研究與大資料概念的濫用大資料
- 大資料怎麼學?對大資料開發領域及崗位的詳細解讀,完整理解大資料開發領域技術體系大資料
- 資料科學領域的幾個無程式碼分析工具介紹資料科學
- 大資料與生命科學大資料
- ClickHouse在大資料領域應用實踐大資料
- 資料科學的整合與細分資料科學
- 推薦六個用於大資料分析的最好工具大資料
- 做資料科學領域的「召喚師」,組織一場人人可參與的資料科學比賽資料科學
- 大資料分析應用的九大領域大資料
- 大資料技術原理與應用大資料
- 大資料領域的國外公司、產品和技術列表大資料
- 資料科學和 ML 領域常用的 Python 庫資料科學Python
- 【網路資料與科學】大資料時代:領航未來 大資料四大趨勢凸顯大資料
- 大資料簡介,技術體系分類整理大資料
- 人的資料科學與機器資料科學資料科學
- 實用領域,三類可以讓大資料發揮價值的途徑!大資料
- [譯] 資料科學領域十大必知機器學習演算法資料科學機器學習演算法
- 解析 :躋身資料科學領域的五條職業規劃道路資料科學
- 電腦科學與技術專業
- Python資料科學(三) python與資料科學應用(Ⅲ)Python資料科學
- Python資料科學(二) python與資料科學應用(Ⅱ)Python資料科學
- Python資料科學(一) python與資料科學應用(Ⅰ)Python資料科學
- 大資料應用——資料探勘之推薦系統大資料
- 資料倉儲技術分類術語
- 大資料在教育領域如何應用?大資料
- 想入門資料科學領域?明確方向更重要資料科學
- 電子技術應用專業資料全集