【Python進階教程】常用機器學習python庫簡介

【Python進階教程】常用機器學習python庫簡介

來自專欄安立桐亂談編程4 人贊了文章

大號因為某些不說也罷的原因,已經無法使用啦。歡迎關注現在這個號,我將恢復機器學習筆記的更新。

………………………………………………………………

庫的導入

Python中可以導入三種庫:Python標準模塊、Python第三方模塊和自定義模塊。

標準模塊是Python實現定義好的;

Python第三方模塊是Python愛好者或者Python研究者來定義的,並且開放出來,方便大家使用的;

自定義模塊是用戶自己定義的,在自己程序運行需要使用到的。

導入模塊,一般使用import語句,大致分為三種。

第一種:import ModuleName (import 模塊名)

例如:

import ModuleNameModuleName.FuncName()

第二種:import ModuleName as MN (import 模塊名 as 別名)

第二種和第一種相似,但是由於某些庫模塊名字太長,用as關鍵字進行簡寫。

例如:

import ModuleName as MNMN.FuncName()

第三種:from ModuleName import Funcname (from 模塊名 import 方法名)

第三種較第一種更加的具體,並非導入整個模塊,而是導入模塊中的某個函數、類或屬性。為什麼要這樣導入呢,因為,FuncName被直接導入到l 本地的名字空間。這樣具體的導入後就可以在使用的時候直接使用import的FuncName而不需要在FuncName前面加上ModuleName.了,這樣就方便快捷很多。

例如:

from ModuleName import FuncNameFuncName()

第四種:from ModuleName import *(from 模塊名 import *)

第四種是第三種的一種特殊形式,導入 * 的效果是表示該模塊的所有的公共對象(public object)都被導入到當前的名字空間,換句話說就是任何不以「__」開頭的東西都被導入。

例如:

from ModuleName import *FuncName()

通過比較,我可以總結一些建議:

如果對於某個模塊的屬性或者方法在當前程序中需要經常使用,那麼就可以使用第三種方法,用來避免重複輸入冗長的模塊名稱;但如果使用第四種方法,判斷某個函數或者屬性的來源會出現困難,不方便調試,也降低代碼的可讀性;

如果導入的模塊中的屬性或者方法與當前程序中的某個模塊或者函數等重名,那麼就必須使用import ModuleName;

綜上,如果想要使用一種避免重名、避免大量重複輸入,又增加可讀性的導入方式,第二種是一個不錯的選擇。

Math

關於math庫,是一個基礎數學庫,就不多介紹了。

python中math模塊常用的方法整理 - renpingsheng - 博客園?

www.cnblogs.com

NumPy

NumPy庫是Python的一種開源的數值計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣)。

所以正式來說,NumPy是Python的一個矩陣類型,提供了大量矩陣處理函數。而非正式來說,它是一個使運算更容易、執行更迅速的庫,因為它的內部運算是通過C語言而不是Python來實現的。

NumPy有兩種基本的數據類型——數組和矩陣。

下面是一些數組處理的例子:

數組的加法

數組的數乘、乘方和乘法

array支持二維數組

與使用數組一樣,處理矩陣數據也需要使用numpy中的方法。

mat與matrix函數作用相同

mat()可將python列錶轉換為NumPy矩陣

矩陣相乘時強制執行數學中的矩陣運算,需用.T或.transpose()對後者轉置

shape()用於查看矩陣或數組的維數,multiply()為元素相乘法

argsort()可以得出矩陣中每個元素的排序序號,sort()為原地排序,mean()為均值函數

np.ones()為製造全1矩陣,zeros()為製造全0矩陣,eye()為單位矩陣

以上就是numpy常用方法,更多方法請參考:

python之numpy的基本使用 - CSDN博客?

blog.csdn.net圖標

Pandas

Python Data Analysis Library 或 pandas 是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。你很快就會發現,它是使Python成為強大而高效的數據分析環境的重要因素之一。

下面簡單描述一下pandas的幾種常見操作

導入CSV或者xlsx文件

用pandas創建數據表

查看數據類型和表維度

inner合併數據表

outer合併數據表

更多內容參考這裡:

pandas用法大全 - CSDN博客?

blog.csdn.net

matplotlib.pyplot

matplotlib.pyplot是一個有命令風格的函數集合,它看起來和MATLAB很相似。

每一個pyplot函數都使一副圖像做出些許改變,例如創建一幅圖,在圖中創建一個繪圖區域,在繪圖區域中添加一條線等等。

在matplotlib.pyplot中,各種狀態通過函數調用保存起來,以便於可以隨時跟蹤像當前圖像和繪圖區域這樣的東西。

繪圖函數是直接作用於當前axes(matplotlib中的專有名詞,圖形中組成部分,不是數學中的坐標系。)

例如:

import matplotlib.pyplot as pltplt.plot([1,2,3,4])plt.ylabel(some numbers)plt.show()

plot默認y上取值,x上自動生成

import matplotlib.pyplot as pltplt.plot([1, 2, 3, 4], [1, 4, 9, 16])plt.ylabel(some numbers)plt.show()

x,y上均取值

更多內容:

matplotlib(一)--pyplot使用簡介 - CSDN博客?

blog.csdn.net圖標
推薦閱讀:

TAG:Python | 機器學習 | Python庫 |