numpy庫的mat函數(shù)

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供商丘網(wǎng)站建設(shè)、商丘做網(wǎng)站、商丘網(wǎng)站設(shè)計、商丘網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、商丘企業(yè)網(wǎng)站模板建站服務(wù),10年商丘做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
import?numpy?as?np
matrix?=?np.mat([[1,?2,?3],?[4,?5,?6]])
print?matrix
print?type(matrix)
結(jié)果為:
[[1 2 3]
[4 5 6]]
class 'numpy.matrixlib.defmatrix.matrix'
NumPy支持大量的維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學函數(shù)庫。
首先安裝NumPy,安裝過pandas,它會自動安裝它的依賴,就不需要安裝NumPy了。
python的numpy庫提供矩陣運算的功能,因此我們在需要矩陣運算的時候,需要導(dǎo)入numpy的包。
計算矩陣對應(yīng)行列的最大、最小值、和。
3a1=mat([[1,1],[2,3],[4,2]])
a1
matrix([[1, 1],
[2, 3],
[4, 2]])
計算每一列、行的和
a2=a1.sum(axis=0) #列和,這里得到的是1*2的矩陣
a2
matrix([[7, 6]])
a3=a1.sum(axis=1) #行和,這里得到的是3*1的矩陣
a3
matrix([[2],
[5],
[6]])
a4=sum(a1[1,:]) #計算第一行所有列的和,這里得到的是一個數(shù)值
a4
5 #第0行:1+1;第2行:2+3;第3行:4+2
計算最大、最小值和索引
a1.max() #計算a1矩陣中所有元素的最大值,這里得到的結(jié)果是一個數(shù)值
4
a2=max(a1[:,1]) #計算第二列的最大值,這里得到的是一個1*1的矩陣
a2
matrix([[3]])
a1[1,:].max() #計算第二行的最大值,這里得到的是一個一個數(shù)值
3
np.max(a1,0) #計算所有列的最大值,這里使用的是numpy中的max函數(shù)
matrix([[4, 3]])
np.max(a1,1) #計算所有行的最大值,這里得到是一個矩陣
matrix([[1],
[3],
[4]])
np.argmax(a1,0) #計算所有列的最大值對應(yīng)在該列中的索引
matrix([[2, 1]])
np.argmax(a1[1,:]) #計算第二行中最大值對應(yīng)在該行的索引
1
1.numpy的導(dǎo)入和使用
data1=mat(zeros((
)))
#創(chuàng)建一個3*3的零矩陣,矩陣這里zeros函數(shù)的參數(shù)是一個tuple類型(3,3)
data2=mat(ones((
)))
#創(chuàng)建一個2*4的1矩陣,默認是浮點型的數(shù)據(jù),如果需要時int類型,可以使用dtype=int
data3=mat(random.rand(
))
#這里的random模塊使用的是numpy中的random模塊,random.rand(2,2)創(chuàng)建的是一個二維數(shù)組,需要將其轉(zhuǎn)換成#matrix
data4=mat(random.randint(
10
,size=(
)))
#生成一個3*3的0-10之間的隨機整數(shù)矩陣,如果需要指定下界則可以多加一個參數(shù)
data5=mat(random.randint(
,size=(
))
#產(chǎn)生一個2-8之間的隨機整數(shù)矩陣
data6=mat(eye(
,dtype=
int
))
#產(chǎn)生一個2*2的對角矩陣
a1=[
]; a2=mat(diag(a1))
#生成一個對角線為1、2、3的對角矩陣
1.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)
參數(shù)分別為y實際類別、預(yù)測類別、返回值要求(True返回正確的樣本占比,false返回的是正確分類的樣本數(shù)量)
eg:
import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
accuracy_score(y_true, y_pred)
0.5
accuracy_score(y_true, y_pred, normalize=False)
2.classification_report(y_true, y_pred, labels=None, target_names=None, sample_weight=None, digits=2)
參數(shù):真是類別,預(yù)測類別,目標類別名稱
eg:
3.confusion_matrix(y_true, y_pred, labels=None, sample_weight=None)
輸出為混淆矩陣
eg:
太多了,寫3個常用的吧,具體參考help(metrics)
defcm_plot(y,yp):#參數(shù)為實際分類和預(yù)測分類
fromsklearn.metricsimportconfusion_matrix
#導(dǎo)入混淆矩陣函數(shù)
cm = confusion_matrix(y,yp)
#輸出為混淆矩陣
importmatplotlib.pyplotasplt
#導(dǎo)入作圖函數(shù)
plt.matshow(cm,cmap=plt.cm.Greens)
# 畫混淆矩陣圖,配色風格使用cm.Greens
plt.colorbar()
# 顏色標簽
forxinrange(len(cm)):
foryinrange(len(cm)):
plt.annotate(cm[x,y],xy=(x,y),horizontalalignment='center',verticalalignment='center')
#annotate主要在圖形中添加注釋
# 第一個參數(shù)添加注釋
# 第一個參數(shù)是注釋的內(nèi)容
# xy設(shè)置箭頭尖的坐標
#horizontalalignment水平對齊
#verticalalignment垂直對齊
#其余常用參數(shù)如下:
# xytext設(shè)置注釋內(nèi)容顯示的起始位置
# arrowprops 用來設(shè)置箭頭
# facecolor 設(shè)置箭頭的顏色
# headlength 箭頭的頭的長度
# headwidth 箭頭的寬度
# width 箭身的寬度
plt.ylabel('True label')# 坐標軸標簽
plt.xlabel('Predicted label')# 坐標軸標簽
returnplt
#函數(shù)調(diào)用
cm_plot(train[:,3],tree.predict(train[:,:3])).show()
新聞標題:python里的矩陣函數(shù),python中矩陣的運算
本文網(wǎng)址:http://chinadenli.net/article18/dsioodp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、面包屑導(dǎo)航、虛擬主機、建站公司、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)