接下来我们进入是机器学习的新阶段,我们因为之前一直在负责毕业设计的进程,所以文章有点耽搁了,但是我们会接下来坚持每天一篇文章,来不断及进行学习阶段的总结。
数据的聚合运算
矩阵的逆运算
代码1 .np.linalg.pinv(x),x为一个矩阵数组,pinv表示为时伪逆矩阵,
调用pinv.shape可以查看其形状与之前矩阵时相反的
当前X.dot(pinvx)代码中作用为时相乘为一个单位矩阵
矩阵的逆
array([0,1],[2,3])
np.linalg.inv[A]//中的inv表示求出其中矩阵A的逆矩阵,linalg表示的含义时线性代数的意思
再次提醒,非方阵是不能进行求逆操作的,除非进行虚逆计算操作(pinv),或者时进行reshape()方法操作,
np.sum(X,axis=1/0),0代表是列,1代表是行,
np.prod(X)//计算所有元素的乘积,X是为矩阵
代码变换:p.prod(X+1)//numpy支持大数运算
np.mean()//求出数组的平均值
np.median()//求出数组的中位数
np.percentile(big_array,百分位设置点)//设置百分点,查看数组情况
代码:
for percent in [0,25,50,75,100]
print(np.percentile(big_array , q=percent))
np.var(big_array)//求数组的方差
np.std(big_array)//求数组的标准差
numpy的索引
np.min(X)//求出数组的最小值
np.argmin(X)//求出数组最小值的索引位置
同理可得到
np.argmax(X)//求出数组最大值的索引
np.random.shuffle(X)//对数组元素进行乱序处理
x=np.random.randint(10,size=(4,4))//第一个元素设置取值范围,第二个元素中设置数组形状
此外,axis通常默认值设置为1,即为行
代码1 np.argsort(X)//在数组进行排序之后,显示出各个元素之前在原来数组中的索引位置
代码2 np.partition(X,3)//第一个元素是向量,第二个元素意思是设置的标准值,该方法时快速排序方法
代码3 np.argpatition(X,3),//同样是在快速排序之后,查看各个元素在之前的数组中的索引位置
代码4 X[X<5]//取得子数组,括号中可以时任意条件
代码5 np.sum(-(x==0))//代码的减号意思为进行非运算,进行非X==0的数组的显示
Fancy indexing(花式索引)
代码: ind[3,5,8]
x[ind]====array([3,5,8])//ind可以取得任意值,然后在X[]中显示
代码2:indeed([[0,2][1,3]])
x[ind]//其中也可以为数组
代码2 :row = np.array([0,1,2])
col=np.array([1,2,3])
X[row , col] //显示所有数组元素
X[0 , col] //显示0行数组元素
X[:2 , col]//显示值到2之前的行的数组元素
numpy_array的比较
代码1:np.count_monzero(X<=3)//计算数组中不为0 且小于等于3 的数
代码2:np.any(条件)//只要有一个值符合,就可以返回true
代码3:np.all(条件)//只要全部值符合,才能返回true
matplotlib的数据可视化基础总结
代码1 import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
X = np.linspace(0,10,100)进行线段分割,分割成一百段。
plt.polt(x,y)//画出线状图
plt.plot(x,siny,color="red")//color表示设置为红色
plt.plot(x,cosy,color="blue",linestyle="--")//linestyle表示设置为虚线
plt.xlim(5,10)//设置X轴的数据范围
plt.ylim(0,5)//设置y轴的数据范围
plt.axis([-1,1,2,6])//前两个数字表示X轴的数据范围,后面两个数字表示Y轴的数据范围
plot.show()
代码2:
x=np.random.random(0,1,100)//任意得到一百个符合正太分布的数
y=np.random.random(0,1,100)//任意得到一百个符合正态分布的数
plt.scatter(x,y)//画出散点图
plt.xlabel(" ")//设置x轴的标签
plt.yalbel(" ")//设置y轴的标签
plt.plot(x,siny,label="sinx")//设置线状涂的线的标签
plt.plot(x,cosy,label=" cosx")//设置线状涂的线的标签
plt.legend()//显示以上两句代码的含义
plt.title(" ")//设置线状图的标签
读取数据
from sklearn import datasets
iris = datasets.load_iris//加载鸢尾花的数据类型
iris.keys()//查看鸢尾花数据包的内容
print(iris.DESCR)//读取数据集合文档
iris.datasets.shape查看鸢尾花数据集合形状
iris.feature_names查看鸢尾花数据集合的列表属性名称
iris.target//查看鸢尾花数据对象
iris.target_name查看鸢尾花数据对象名称
x=iris.data[:,:2]查看鸢尾花直到第二列的所有数据元素
plt.scatter(x[:,0],x[:,1])//所有第一列和第二列的数据的散点图
plt.show()
plt.scatter(x[y==0,0],x[y==0,1],color="red",marker="0"或者"+"或者"x")
plt.scatter(x[y==1,0],x[y==1,1],color="blue")
plt.scatter(x[y==2,0],x[y==2,1],color="green")