机器学习阶段总结(2)

接下来我们进入是机器学习的新阶段,我们因为之前一直在负责毕业设计的进程,所以文章有点耽搁了,但是我们会接下来坚持每天一篇文章,来不断及进行学习阶段的总结。


数据的聚合运算

矩阵的逆运算

代码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")


你可能感兴趣的:(机器学习阶段总结(2))