在机器学习中,平均数表示的是所有样本的平均值,也是所有样本的中心点。
平方差:所有样本到中心点距离的平方和
标准差:平方差/n得到平均平方差,然后再开根号。
numpy里有这些函数,
那么我们就可以知道了
平均数是这些数的中心,标准差是这些数到中心点的平均距离,表示的是这些点的离散程度,这个数越大,表示越离散。
X = np.array([1, 2, 3])
X.mean()
2.0
X.std()
0.816496580927726
什么情况怎么是0.8几,距离难道不是1吗?其实这里涉及一个知识,就是全体样本平方差还是样本平方差,全体平方差包括所有的元素,而样本平方差要排除中心点本身,也就是让全体样本中的中心点被排除在外。
也就是numpy里计算的是全体标准差,sqrt(((3-2)2+(1-2)2)/2)
从这个地方我们引入机器学习里边常说的标准问题
标准化就是让原始的数据格式化:
1、让平均值为0,让标准差(表示距离)为0
这个简单让每个值都减去平均值再除去标准差。
当时要注意一点,所谓的标准化,只能标准化一列,就是一个特征变量里的所有的数据。这样是让每个特征按照自己的比例进行标准化,但是不能和别列的数据进行混合,因为不同的列是不相关的数据,你如果做了标准化,就会让不同的列的数据也相关了,这个是有问题的。