大資料分析 - 資料分析工具



有多種工具可以幫助資料科學家有效地分析資料。通常,資料分析的工程方面側重於資料庫,而資料科學家則專注於可以實現資料產品的工具。以下部分討論了不同工具的優勢,重點關注資料科學家在實踐中最常使用的統計軟體包。

R程式語言

R 是一種開源程式語言,專注於統計分析。在統計功能方面,它與 SAS、SPSS 等商業工具具有競爭力。它被認為是其他程式語言(如 C、C++ 或 Fortran)的介面。

R 的另一個優勢是可用的大量開源庫。在 CRAN 中,有 6000 多個軟體包可以免費下載,在**Github** 中,還有各種各樣的 R 軟體包可用。

在效能方面,R 對於密集型操作來說速度較慢,鑑於大量可用的庫,程式碼的慢速部分是用編譯語言編寫的。但是,如果您打算執行需要編寫深度迴圈的操作,那麼 R 並不是您的最佳選擇。出於資料分析目的,有一些不錯的庫,例如**data.table、glmnet、ranger、xgboost、ggplot2、caret**,它們允許將 R 用作更快速程式語言的介面。

Python 用於資料分析

Python 是一種通用程式語言,它包含大量專門用於資料分析的庫,例如**pandas、scikit-learn、theano、numpy** 和**scipy**。

R 中的大多數功能也可以在 Python 中完成,但我們發現 R 更易於使用。如果您正在處理大型資料集,通常 Python 比 R 更好。Python 可以非常有效地逐行清理和處理資料。這在 R 中是可能的,但對於指令碼任務來說,它不像 Python 那樣高效。

對於機器學習,**scikit-learn** 是一個不錯的環境,它提供了大量可以輕鬆處理中等規模資料集的演算法。與 R 的等效庫(caret)相比,**scikit-learn** 具有更簡潔、更一致的 API。

Julia

Julia 是一種用於技術計算的高階、高效能動態程式語言。其語法與 R 或 Python 非常相似,因此,如果您已經在使用 R 或 Python,則用 Julia 編寫相同的程式碼應該非常簡單。這門語言比較新,並且在過去幾年中發展迅速,因此目前絕對是一個可行的選擇。

我們建議將 Julia 用於原型設計計算密集型演算法,例如神經網路。它是進行研究的絕佳工具。在生產環境中實現模型方面,Python 可能有更好的選擇。但是,隨著越來越多的 Web 服務可以對 R、Python 和 Julia 中的模型進行工程化實現,這個問題正變得越來越不重要。

SAS

SAS 是一種商業語言,目前仍用於商業智慧。它有一個基礎語言,允許使用者編寫各種各樣的應用程式。它包含相當多的商業產品,使非專家使用者能夠使用複雜工具(例如神經網路庫),而無需進行程式設計。

除了商業工具的明顯缺點之外,SAS 無法很好地擴充套件到大型資料集。即使是中等規模的資料集也會導致 SAS 出現問題並使伺服器崩潰。只有當您使用小型資料集並且使用者不是專家資料科學家時,才建議使用 SAS。對於高階使用者,R 和 Python 提供了更有效率的環境。

SPSS

SPSS 是 IBM 目前用於統計分析的產品。它主要用於分析調查資料,對於無法進行程式設計的使用者來說,它是一個不錯的選擇。它可能與 SAS 一樣易於使用,但在實現模型方面,它更簡單,因為它提供了用於評分模型的 SQL 程式碼。此程式碼通常效率不高,但這是一個開始,而 SAS 則分別為每個資料庫銷售評分模型的產品。對於小型資料和經驗不足的團隊,SPSS 是一種與 SAS 一樣好的選擇。

但是,該軟體的功能相當有限,經驗豐富的使用者使用 R 或 Python 的效率會高出幾個數量級。

Matlab、Octave

還有其他可用的工具,例如 Matlab 或其開源版本(Octave)。這些工具主要用於研究。在功能方面,R 或 Python 可以完成 Matlab 或 Octave 中的所有功能。只有當您對他們提供的支援感興趣時,才有意義購買產品的許可證。

廣告

© . All rights reserved.