本文记录了我在学习中遇到的一些问题,写在这个地方,如果当时并没有解决,我就会加入我的博客
mean()是我们常用的求中值函数,但是mean的实现过程到底是什么??全部相加取平均值??如果是这样的话,下面情况是为什么。
test=X_std[:149,0]
print('我们拿到1列的全部数据:',test.shape)
test=X_std[:,0]
print('对比上面:',test.shape)
print('这是后面带mean():',test.mean())
print('这是前面带mean():',np.mean(test))
print('这是全部累加求和:',sum(test)/len(test))
test=X_std[:148,0]
#我们减少一个数据再看看结果
print(test.shape)
print('这是后面带mean():',test.mean())
print('这是前面带mean():',np.mean(test))
print('这是全部累加求和:',sum(test)/len(test))
#显然最后一个值取不取居然对我们的结果影响这么大,那个值是什么
print('最后一个数据:',X_std[-1:,0])
"""
我们拿到1列的全部数据: (149,)
对比上面: (149,)
这是后面带mean(): 2.3843715965104033e-16
这是前面带mean(): 2.3843715965104033e-16
这是全部累加求和: 5.700138347907683e-17
(148,)
这是后面带mean(): -0.0004228274789149207
这是前面带mean(): -0.0004228274789149207
这是全部累加求和: -0.000422827478915088
最后一个数据: [0.06257847]
"""
明显,这个全部累加求和除以总数是有点问题的,还有mean的不同使用方式也会导致结果出现偏差,而且即使是累加求和除以总数在最后一个居然也出现了相对较大的误差,即使这是个很小数据,这种情况也令人费解。
此问题还未解决,如有可以解决的大神,评论留言,万分感谢