數據科學家都應會使用的7款Python工具
如果你是一個有追求的數據科學家,你應該充滿好奇心,常常探索、學習和提問。在線教程和視頻可以作為初期的準備學習,但能夠證明你已經做好準備成為一個數據科學家的***方式是,你可以熟練的使用編程環境中各種所需的工具。
作 者詢問了他們的數據科學專家,讓他們列出了他們所認為的所有數據科學家都應該熟練使用的7個Python工具。Galvanize Data Science和GalvanizeU課程均著眼于學生是否花費大量時間沉浸于那些技術,將時間投資在深入研究工具上,這會讓你在找***份工作時擁有絕對 的優勢。下面就來看看這些工具:
IPython
IPython是多種編程語言的交互式計算的命令外殼,最初為Python編程語言開發,提供了增強自省、富媒體、增加額外的shell語法、tab補全和豐富的歷史功能。IPython提供以下功能:
強大的shell交互功能(基于QT終端)
一個基于瀏覽器的筆記本,支持代碼、文本、數學共表達式、內置圖表和其他富媒體
支持交互數據可視化和使用GUI工具包
靈活的、可嵌入的將解釋程序加載到自有工程里
易用,并行計算的高性能工具
GraphLab Create
GraphLab Create是一個Python庫,由C++引擎支持,用于快速構建大規模、高性能的數據產品。
下面是GraphLab Create的一些特點:
能夠在您的計算機上交互高速的分析TB量級數據
可分析表格數據、圖形、文本和圖像的單一平臺
先進的技術機器算法學習,包括深度學習、進化樹、factorization machines理論
使用Hadoop Yarn或EC2集群在你的筆記本上運行相同的代碼
利用靈活的API接口使自己專注于任務或機器學習
使用數據預測服務輕松部署云數據產品。
為探索和生產監測建立可視化數據
Pandas
Pandas有BSD開源許可,是讓Python編程語言更加易于使用的數據結構和數據分析的開源軟件。在數據修改和預處理方面,Python早已十分強大,但是在數據分析和建模上,Python還不是十分完善。Pandas正好彌補了這一短板,它能夠使你的全部數據分析能夠在Python上實施,而不用借助于其他特定語言(例如R語言)。
結 合強大的Python工具包和其他庫,它在Python的數據分析環境中能夠有優異的性能、生產力和兼容性。Pandas不能實現超出建模函數外線性回歸 和面板會歸;這可以通過看statsmodels和scikit學習。要把Python做成首位的統一建模環境還有很多工作要做,但我們已經在奔向目標的 道路上了。
PuLP
線性編程是優化的一個類型,一個目標函數應該***化的給與一定限制。PuLP是用Python寫的線性編程模型。PuLP可以生成線性文件,調用高度優化的求解器GLPK、COIN CLP/CBC、CPLEX和GUROBI來解決線性問題。
Matplotlib
Matplotlib是一個Python 2D的繪圖庫,它可以生成高質量圖表,用于跨平臺的硬件格式和交互式環境中。Matplotlib可以用于Python腳本,Python和IPython的shell界面(ALA Matlab或Mathematica),web應用服務器和6類圖形用戶界面工具包。
Matplotlib試圖讓簡單的事情更簡單,讓困難的事情增加可能性。僅用幾行代碼就可生成圖像、直方圖、能量光譜、柱狀圖、散點圖等等。
對于簡單的繪圖,Pyplot接口提供了一個MATLAB-like界面,特別是在結合IPython時。對于有能力的用戶,你可以完全控制線型、字體屬性、坐標屬性等等,并且通過一個面向對象的接口或提供一組函數給MATLAB用戶。
Scikit-Learn
Scikit-Learn是一個簡單有效的數據挖掘和數據分析工具。他的優點就在于,在任何情況下都是可以訪問的,并且在多種語境下可以重復使用。它基于NumPy、SciPy和mathplotlib構建。Scikit-Learn采用開源BSD許可,在商業上可用。Scikit-Learn有以下特點:
分類:識別對象屬于哪一類別
回歸:預測一個對象相關聯的持續價值屬性
聚類:類似屬性對象的自動分組聚集
降維:減少需考慮的隨機變量的數目
模型選擇:比較、驗證和選擇參數模型
預處理:特征提取和規范化
Spark
Spark 由一個驅動程序組成,它可以運行用戶的main函數,且能在集群上執行各種并行操作。Spark最主要的優點就是它提供彈性分布式數據集(RDD),這是 一個可并行操作的按聚類節點分區的元素集合。RDDs可在Hadoop文件系統中創建(或任何其他的Hadoop支持的文件系統),或現有的Scala集 合中已有的標量數據集合將其轉化。用戶可能也希望Spark能夠保存RDD,并且允許有效復用和并行操作。***,RDDs無法自動從節點中復原。
Spark 的另一個優勢是可被用于并行操作的變量共享。默認情況下,當Spark并行的運行一個作為不同節點上的任務的函數時,它將每一個函數中的變量給每份任務都 拷貝一份。有時,一個變量需要在任務間共享,或是在任務和驅動程序間共享。Spark支持兩種類型的共享變量:廣泛散布的變量(可用在所有節點緩存上的數 據)、累加器(只能執行“相加”),像計數器和加法。
原文地址:Seven Python Tools All Data Scientists Should Know How to Use