-
如何快速读取大量小文件?
做一个比赛时,有上万个很小的CSV文件,想要把他们合并起来,发现依次读取非常慢。能想到的思路是多线程读取。python多线程不熟,我直接写了几个python脚本处理读取不同的数据,然后同时运行,然后把每个脚本合并的结果再进一步合并,得到最终的文件。 -
如何快速读写训练集?
第一次读入训练集后,通过降低不必要的数据精度来减少空间占用。同时要保存为pickle文件,pickle读写比csv快非常多。
降低数据精度会,保存为csv文件是无效的,文件大小不变。 -
训练集和数据集某特征差异较大如何处理?
比如某特征在训练集中有两种取值,为0或1,但是在测试集中取值为0, 1, 2, 那么可以舍弃掉这个特征。或者用K-S检验来做特征选择。
**对原始数据首先删除静态列和重复列。**静态列指的是常数。 -
原始数据(必须)要做 Normalization!原始数据是否要Normalization根据模型而定。
概率模型如决策树、朴素贝叶斯不需要归一化,最优化问题如LR,NN一般需要归一化。
在进行数据分析的时候,什么情况下需要对数据进行标准化处理? 见Maigo大佬的回答。
神经网络如果不做Normalization 会出现什么后果?今天遇到一种情况,原始数据范围大概是(5000,10000),神经网络第一层是卷积,激活函数是sigmoid。直接将原始数据作为神经网络的输入,最后发现对不同样本,神经网络的输出竟然都是相同的。。。训练时loss自然也不下降。原因自然是sigmoid函数的输入太大了,输出值接近1,对任何样本这一层的输出直接变成常数了,模型的输出自然也都相同。
Normalization指将数据范围变为[0,1],有时是[-1,1],中文翻译成归一化,有的也叫标准化,我觉得归一化比较贴切,标准化一般会想到标准正态分布。深度学习里还有一种batch normalization,这里的normalization指的是将把每层的输入转化为标准正态分布,这样能够加速训练。
-
较大的CSV如何快速传输?
先压缩再传输,CSV文件一般压缩率比较小。
ML中的数据预处理
最新推荐文章于 2023-02-26 23:46:57 发布