扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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'
NumPy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
首先安装NumPy,安装过pandas,它会自动安装它的依赖,就不需要安装NumPy了。
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
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的对角矩阵
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()
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流