0
本文作者: AI研習(xí)社-譯站 | 2019-01-04 10:34 |
本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :
Essential libraries for Machine Learning in Python
作者 | Shubhi Asthana
翻譯 | 就2
校對 | 就2 整理 | 菠蘿妹
原文鏈接:
https://medium.freecodecamp.org/essential-libraries-for-machine-learning-in-python-82a9ada57aeb
用 Python 做機器學(xué)習(xí)不得不收藏的重要庫
Python通常被應(yīng)用統(tǒng)計技術(shù)或者數(shù)據(jù)分析人員當(dāng)做工作中的首選語言。數(shù)據(jù)科學(xué)家也會用python作為連接自身工作與WEB 應(yīng)用程序/生產(chǎn)環(huán)境集成中。
Python在機器學(xué)習(xí)領(lǐng)域非常出色。它具有一致的語法、更短的開發(fā)時間和靈活性,非常適合開發(fā)能夠直接插入生產(chǎn)系統(tǒng)的復(fù)雜模型和預(yù)測引擎。
Python的一個最大的資產(chǎn)是其廣泛的庫。
庫是一組用給定語言編寫的程序和功能的集合。一組健壯的庫可以使開發(fā)人員更容易執(zhí)行復(fù)雜的任務(wù),而無需重寫許多代碼。
機器學(xué)習(xí)很大程度上是基于數(shù)學(xué)。具體來說就是數(shù)學(xué)優(yōu)化、統(tǒng)計和概率。Python庫幫助那些不具備開發(fā)人員知識的研究人員/數(shù)學(xué)家輕松地“進行機器學(xué)習(xí)”。
以下是機器學(xué)習(xí)中最常用的一些庫:
Scikit-learn 是最流行的ML 庫之一,他支持很多監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)算法。例如:線性回歸,邏輯回歸,決策樹,聚類 ,k-means等。
他基于兩個python庫:Numpy 和 Scipy 。 他為常見的機器學(xué)習(xí)和數(shù)據(jù)挖掘提供了一組算法:聚類,回歸和分類。甚至像數(shù)據(jù)轉(zhuǎn)換,特征選擇,集成學(xué)習(xí)這樣的任務(wù)也可與通過簡短幾行代碼實現(xiàn)。
對于機器學(xué)習(xí)的新手來說,Scikit-learn 是一個夠用的工具,直到你自己開始實現(xiàn)更復(fù)雜的算法。
如果你在機器學(xué)習(xí)的世界里,你可能聽過,嘗試過或者實現(xiàn)過某種形式的深度學(xué)習(xí)的算法。但是他們是必要的嗎?回答可能是不必要。但是完成他們后感覺很酷對嗎? 回答是:對的!酷斃了。
Tensorflow 有趣的地方在于,當(dāng)你使用python 編寫代碼,你可以編譯和運行在你的CPU 或者GPU 上,而且你不需要寫 c++或者 CUDA 的代碼,就可以運行在GPUs 集群上。
他使用一個多層節(jié)點的系統(tǒng),允許你快速的簡歷,訓(xùn)練,部署具有大量數(shù)據(jù)集的人工神經(jīng)網(wǎng)絡(luò)。這讓谷歌能夠識別照片中的物體,通過語音識別程序理解在口語中的單詞。
Theano 是另一個用于數(shù)值計算的優(yōu)秀類庫,有點類似于Numpy。Theano 允許你高效的定義,優(yōu)化和評估涉及多維數(shù)組的數(shù)學(xué)表達式。
使Theano 與眾不同的是它利用了計算機的GPU。這使得它能夠比單獨在CPU上運行時快100倍進行數(shù)據(jù)密集型計算。Theano的速度使得它對于深度學(xué)習(xí)和其他復(fù)雜的計算任務(wù)特別有價值。
Theano 庫的最終發(fā)布是在去年——2017年,版本1.0.0包含了許多新特性、界面更改和改進。
panda是一個非常流行的庫,它提供了簡單易用且直觀的高級數(shù)據(jù)結(jié)構(gòu)。
它有許多內(nèi)建的方法來分組、組合數(shù)據(jù)和過濾以及執(zhí)行時間序列分析。
panda可以輕松地從SQL數(shù)據(jù)庫、CSV、Excel、JSON文件等不同來源獲取數(shù)據(jù),并對數(shù)據(jù)進行操作。圖書館有兩個主要結(jié)構(gòu):
Series“級數(shù)”---- 一維 。
Data Frames“數(shù)據(jù)幀”---- 二維。
如果想得知關(guān)于如何使用序列和數(shù)據(jù)看框架的更多細節(jié),請查看的我的其他文章。
Matplotlib用于數(shù)據(jù)可視化
如果你不能很好的與其他人交流,那么最好的,最復(fù)雜的機器學(xué)習(xí)就顯得沒有意義。
那么如何從這些數(shù)據(jù)中轉(zhuǎn)換出價值呢?你如何激勵你的業(yè)務(wù)分析師,告訴他們充滿“洞察力”的“故事”?
這就是Matplotlib發(fā)揮作用的地方。它是每個數(shù)據(jù)科學(xué)家用于創(chuàng)建2D圖形和圖形的標(biāo)準Python庫。它是命令行簡單,這意味著它需要更多的命令來生成好看的圖形和數(shù)字,而不是使用一些高級庫。
然而,這也帶來了靈活性。有了足夠的命令,您可以使用Matplotlib制作任何您想要的圖形。您可以構(gòu)建不同的圖表,從直方圖和散點圖到非笛卡爾坐標(biāo)圖。
它支持所有操作系統(tǒng)上的不同GUI后端,還可以將圖形導(dǎo)出到通用矢量和圖形格式,如PDF、SVG、JPG、PNG、BMP、GIF等。
Seaborn是一個流行的可視化庫,它建立在Matplotlib的基礎(chǔ)之上。它是一個高級庫,這意味著更容易生成某些類型的圖,包括熱圖、時間序列和小提琴圖。
這是機器學(xué)習(xí)中最重要的Python庫的集合。如果您打算使用Python和數(shù)據(jù)科學(xué),那么這些庫是值得一看的,同時也值得您熟悉。
我是否錯過了任何重要的Python ML庫?如果是,請務(wù)必在下面的評論中提到它。盡管我試圖介紹最有用的庫,但可能仍然沒有介紹其他一些值得研究的庫。
問題或建議嗎?我很想聽聽你的意見——請隨意留言。
想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻?
長按鏈接點擊打開或點擊底部【用python做機器學(xué)習(xí)不得不收藏的重要庫】:
https://ai.yanxishe.com/page/TextTranslation/1119
AI研習(xí)社每日更新精彩內(nèi)容,觀看更多精彩內(nèi)容:雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
等你來譯:
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。