用 Python 做機器學習至關重要的庫!
用 Python 做機器學習不得不收藏的重要庫
Python通常被應用統計技術或者資料分析人員當做工作中的首選語言。資料科學家也會用python作為連線自身工作與WEB 應用程式/生產環境整合中。
Python在機器學習領域非常出色。它具有一致的語法、更短的開發時間和靈活性,非常適合開發能夠直接插入生產系統的複雜模型和預測引擎。
Python的一個最大的資產是其廣泛的庫。
庫是一組用給定語言編寫的程式和功能的集合。一組健壯的庫可以使開發人員更容易執行復雜的任務,而無需重寫許多程式碼。
機器學習很大程度上是基於數學。具體來說就是數學優化、統計和概率。Python庫幫助那些不具備開發人員知識的研究人員/數學家輕鬆地“進行機器學習”。
以下是機器學習中最常用的一些庫:
Scikit-learn 經典的ML演算法
Scikit-learn 是最流行的ML 庫之一,他支援很多監督學習和非監督學習演算法。例如:線性迴歸,邏輯迴歸,決策樹,聚類 ,k-means等。
他基於兩個python庫:Numpy 和 Scipy 。 他為常見的機器學習和資料探勘提供了一組演算法:聚類,迴歸和分類。甚至像資料轉換,特徵選擇,整合學習這樣的任務也可與通過簡短几行程式碼實現。
對於機器學習的新手來說,Scikit-learn 是一個夠用的工具,直到你自己開始實現更復雜的演算法。
Tensorflow for Deep Learning 深度學習
如果你在機器學習的世界裡,你可能聽過,嘗試過或者實現過某種形式的深度學習的演算法。但是他們是必要的嗎?回答可能是不必要。但是完成他們後感覺很酷對嗎? 回答是:對的!酷斃了。
Tensorflow 有趣的地方在於,當你使用python 編寫程式碼,你可以編譯和執行在你的CPU 或者GPU 上,而且你不需要寫 c++或者 CUDA 的程式碼,就可以執行在GPUs 叢集上。
他使用一個多層節點的系統,允許你快速的簡歷,訓練,部署具有大量資料集的人工神經網路。這讓谷歌能夠識別照片中的物體,通過語音識別程式理解在口語中的單詞。
Theano is also for Deep Learning
Theano 是另一個用於數值計算的優秀類庫,有點類似於Numpy。Theano 允許你高效的定義,優化和評估涉及多維陣列的數學表示式。
使Theano 與眾不同的是它利用了計算機的GPU。這使得它能夠比單獨在CPU上執行時快100倍進行資料密集型計算。Theano的速度使得它對於深度學習和其他複雜的計算任務特別有價值。
Theano 庫的最終釋出是在去年——2017年,版本1.0.0包含了許多新特性、介面更改和改進。
Pandas 資料提取與預處理
panda是一個非常流行的庫,它提供了簡單易用且直觀的高階資料結構。
它有許多內建的方法來分組、組合資料和過濾以及執行時間序列分析。
panda可以輕鬆地從SQL資料庫、CSV、Excel、JSON檔案等不同來源獲取資料,並對資料進行操作。圖書館有兩個主要結構:
- Series“級數”---- 一維 。
- Data Frames“資料幀”---- 二維。
如果想得知關於如何使用序列和資料看框架的更多細節,請檢視的我的其他文章。
Matplotlib用於資料視覺化
進群:960410445 即可獲取數十套PDF!
如果你不能很好的與其他人交流,那麼最好的,最複雜的機器學習就顯得沒有意義。
那麼如何從這些資料中轉換出價值呢?你如何激勵你的業務分析師,告訴他們充滿“洞察力”的“故事”?
這就是Matplotlib發揮作用的地方。它是每個資料科學家用於建立2D圖形和圖形的標準Python庫。它是命令列簡單,這意味著它需要更多的命令來生成好看的圖形和數字,而不是使用一些高階庫。
然而,這也帶來了靈活性。有了足夠的命令,您可以使用Matplotlib製作任何您想要的圖形。您可以構建不同的圖表,從直方圖和散點圖到非笛卡爾座標圖。
它支援所有作業系統上的不同GUI後端,還可以將圖形匯出到通用向量和圖形格式,如PDF、SVG、JPG、PNG、BMP、GIF等。
Seaborn是另一個數據視覺化庫
進群:960410445 即可獲取數十套PDF!
Seaborn是一個流行的視覺化庫,它建立在Matplotlib的基礎之上。它是一個高階庫,這意味著更容易生成某些型別的圖,包括熱圖、時間序列和小提琴圖。
最後
這是機器學習中最重要的Python庫的集合。如果您打算使用Python和資料科學,那麼這些庫是值得一看的,同時也值得您熟悉。
我是否錯過了任何重要的Python ML庫?如果是,請務必在下面的評論中提到它。儘管我試圖介紹最有用的庫,但可能仍然沒有介紹其他一些值得研究的庫。