《深度學習之美》讀書筆記章四

這一篇文章主要介紹python的機器學習類庫。python 作為一門語言,這里只介紹在機器學習中python常用的庫,其他學習可以到菜鳥網來學習,個人認為這里學習效果還不錯。

第四章 人生苦短對酒歌,我用python樂趣多

一,python中機器學習常用的庫

1. 數值計算Numpy

NumPy的取自“Numeric(數值)”和“python”的簡寫。它是處理計算最為基礎的類庫。NumPy除了提供一些數學運算函數之外,還提供了向量和矩陣的運算。對于兩個矩陣的加法,在諸如c/c++或Java等語言里,需要用多層for循環來實現,而在NumPy中僅用一條語句。

對于機器學習來說,不論是參數的批量計算還是數據特征表示,都離不開向量和矩陣的便捷運算。并且NumPy還采用非常獨到的數據結構設計,使之在存儲和處理大型矩陣方面,比python自身的嵌套列表結構要高效的多。

NumPy被定位為數學基礎庫,屬于比較底層的python庫。

2. 科學計算SciPy

SciPy的發音是“Sigh Pie”,它是“Science”和Python的組合。它是面向科學計算的Python庫。SciPy構建于NumPy之上,其功能更加的強大,在常微分方程求解,線性代數,信號處理,圖像處理及稀疏矩陣操作等方面,均有出色的支持。SciPy庫需要NumPy庫的支持,故他的安裝要先于SciPy庫。

3. 數據清洗Pandas

Pandas 的全稱是“Python Data Analysis Library”,這是一款基于Python的數據分析庫,它同樣基于NumPy構建而成。

Pandas庫提供了操作大型數據集所需的高效工具,支持帶有坐標軸的數據結構,這能防止由于數據沒有對齊,處理不同來源,采用不同索引的數據而產生的常見錯誤。在數據預處理或數據清洗上,pandas提供了處理缺失值,轉換,合并及其他類SQL的功能,這些功能大大減輕了一線從事機器學習的研發人員的負擔。在某種程度上,Pandas是實施數據清洗/整理(Data Wrangling)最好的工具之一。

4.圖形繪制Matplotlib與Seaborn

python提供了繪圖功能強大的類庫Matplotlib,它可以很方便的繪制散點圖,折線圖,條形圖,直方圖,餅狀圖等專業圖形。此外,它還提供了一定的互動功能,如圖形的縮放和平移等。其輸出的常見文件格式有PDF,SVG,PNG,BMP和GIF等。
Matplotlib也是繪制圖形的基礎庫,Seaborn是基于它的高級庫,它對Matplotlib做了二次封裝,可以繪制更加精致圖。如下圖:


5. scikit-learn

scikit-learn構建于NumPy,SciPy和Matplotlib之上,提供了一系列經典機器學習算法,如聚類,分類和回歸等,并提供統一的接口供用戶調用。目前它已經成為相對成熟的機器學習開源項目。


除了上面提到的幾個常用的類庫和工具之外,python還提供了其他一些實用庫。比如,用于網站數據抓取的Scrappy,用于網絡挖掘的Pattern,用于自然語言處理的MLTK和使用深度學習的Tensorflow等。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容