所以我有一个DataFrame由客户在交易所的订单数据组成的。
我有一列Dollars是客户以不同货币对进行的所有交易的美元价值。我想在这些数据上训练一个分类器,所以我正在规范化Dollar列以使值进入相同的范围,但我认为规范化的值看起来很……奇怪。这是我的 DataFrame 的片段:
Dollars | Normalized dollars
181447.50 | 9.10975e-06
281885.00 | 1.41523e-05
290786.00 | 1.45992e-05
70923.00 | 3.56076e-06
1121169.54| 5.62894e-05
这些值看起来很小。
我用过sklearn.preprocessing.normalize这个。
值得一提的是,最低Dollars值是0.06,而最大的是5,605,847,772.52,我认为这是解释,但我期待的是 0-1 范围,但我最大的归一化值是0.157。作为一般规则,我是否应该对数据集进行更多过滤以去除极端异常值?
更新:将以 10 为底的对数应用于美元会产生一些更易于管理的结果,尽管标准化值仍然相当小。ScaledDollars是使用sklearn.StandardScaleron的结果Log10Dollars:
Dollars | Normalized dollars| Log10Dollars | LogNorm | ScaledDollars
181447.50 | 9.10975e-06 | 5.258751 | 0.00384193| -0.761916
281885.00 | 1.41523e-05 | 5.450072 | 0.00398171| -0.573336
290786.00 | 1.45992e-05 | 5.463573 | 0.00399157| -0.560028
70923.00 | 3.56076e-06 | 4.850787 | 0.00354388| -1.16404