python里的矩阵函数,python中矩阵的运算

在Python中使用矩阵,需要调用什么库函数:

numpy库的mat函数

成都创新互联公司专业为企业提供商丘网站建设、商丘做网站、商丘网站设计、商丘网站制作等企业网站建设、网页设计与制作、商丘企业网站模板建站服务,10年商丘做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

import numpy as np

matrix = np.mat([[1, 2, 3], [4, 5, 6]])

print matrix

print type(matrix)

结果为:

[[1 2 3]

[4 5 6]]

class 'numpy.matrixlib.defmatrix.matrix'

python中的矩阵运算

NumPy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

首先安装NumPy,安装过pandas,它会自动安装它的依赖,就不需要安装NumPy了。

python的矩阵可以做什么

python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。

计算矩阵对应行列的最大、最小值、和。

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,:]) #计算第一行所有列的和,这里得到的是一个数值

a4

5 #第0行:1+1;第2行:2+3;第3行:4+2

计算最大、最小值和索引

a1.max() #计算a1矩阵中所有元素的最大值,这里得到的结果是一个数值

4

a2=max(a1[:,1]) #计算第二列的最大值,这里得到的是一个1*1的矩阵

a2

matrix([[3]])

a1[1,:].max() #计算第二行的最大值,这里得到的是一个一个数值

3

np.max(a1,0) #计算所有列的最大值,这里使用的是numpy中的max函数

matrix([[4, 3]])

np.max(a1,1) #计算所有行的最大值,这里得到是一个矩阵

matrix([[1],

[3],

[4]])

np.argmax(a1,0) #计算所有列的最大值对应在该列中的索引

matrix([[2, 1]])

np.argmax(a1[1,:]) #计算第二行中最大值对应在该行的索引

1

python 怎么实现矩阵运算

1.numpy的导入和使用

data1=mat(zeros((

)))

#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)

data2=mat(ones((

)))

#创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int

data3=mat(random.rand(

))

#这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix

data4=mat(random.randint(

10

,size=(

)))

#生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数

data5=mat(random.randint(

,size=(

))

#产生一个2-8之间的随机整数矩阵

data6=mat(eye(

,dtype=

int

))

#产生一个2*2的对角矩阵

a1=[

]; a2=mat(diag(a1))

#生成一个对角线为1、2、3的对角矩阵

Python sklearn.metrics模块混淆矩阵常用函数

1.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

参数分别为y实际类别、预测类别、返回值要求(True返回正确的样本占比,false返回的是正确分类的样本数量)

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)

参数:真是类别,预测类别,目标类别名称

eg:

3.confusion_matrix(y_true, y_pred, labels=None, sample_weight=None)

输出为混淆矩阵

eg:

太多了,写3个常用的吧,具体参考help(metrics)

defcm_plot(y,yp):#参数为实际分类和预测分类

fromsklearn.metricsimportconfusion_matrix

#导入混淆矩阵函数

cm = confusion_matrix(y,yp)

#输出为混淆矩阵

importmatplotlib.pyplotasplt

#导入作图函数

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主要在图形中添加注释

# 第一个参数添加注释

# 第一个参数是注释的内容

# xy设置箭头尖的坐标

#horizontalalignment水平对齐

#verticalalignment垂直对齐

#其余常用参数如下:

# xytext设置注释内容显示的起始位置

# arrowprops 用来设置箭头

# facecolor 设置箭头的颜色

# headlength 箭头的头的长度

# headwidth 箭头的宽度

# width 箭身的宽度

plt.ylabel('True label')# 坐标轴标签

plt.xlabel('Predicted label')# 坐标轴标签

returnplt

#函数调用

cm_plot(train[:,3],tree.predict(train[:,:3])).show()


分享文章:python里的矩阵函数,python中矩阵的运算
文章分享:http://scyanting.com/article/dsioodp.html