关于数据集的处理问题

来源:4-3 训练数据集,测试数据集

青影wz

2018-11-09

老师,我想问下:如果一个数据集中已经给定了训练集和测试集,并且在测试集里有很多和训练集偏差很大的数据,我们对这两个数据集进行归一标准化时,可不可以单独的在各自的数据集中进行标准化?这样做的话,相比全部用训练集的平均值和标准差标准化,得到的测试结果会不会好点?

写回答

1回答

liuyubobobo

2018-11-10

得到的结果有可能会更好,但关键是,这样的“好”不一定是真实的!一方面,在实际应用的时候,有可能变差;另一方面,这个号很可能只是针对你的数据而言,不具有普遍性。


在逻辑上,这样做是不对的。这是因为,你训练的模型,是基于把数据按照某一个miu和sigma进行归一化后进行的训练,这个模型内隐含着这个miu和sigma,在测试数据集上,如果改变miu和sigma,从逻辑上,这个模型就不适用了!


另外一个理解的角度,课程中介绍过,就是可以理解成,如果测试数据只有一个,那么此时,测试数据根本就无法求均值和标准差,怎么根据这一个测试数据进行标准化?无法做到。那么如果测试数据集只有两个,只根据这两个数据求均值和标准差,这么做,合理吗?感觉似乎不够合理。那三个呢?似乎也不是那么可以。问题来了,测试数据集要有多少个,这么做才合理?


这背后,其实揭示了,这种方法本身也不具有普遍性:)

3
1
青影wz
好的,了解了,感谢波波老师!
2018-11-10
共1条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5974 学习 · 2456 问题

查看课程