首页 > 解决方案 > 在 (0, 1) 范围内缩放值

问题描述

我想在 (0, 1) 范围内缩放我的值,但没有像MinMax Scaler那样获得值 0 和 1 。我在想可能会在MinMax Scaler函数中添加一些东西,例如:

x_scaled[i] = (x[i] - min(x) +- something) / (max(x) - min(x) +- something)

以便最小值得到非常小的值,但不是 0,最大值得到非常接近 1 但不是 1 的值。有什么想法吗?

标签: scikit-learnscale

解决方案


您可以feature_range按照评论中的说明使用。

因为something您可以尝试使用比小值更智能的值,例如百分位数(左侧为 0.1 或 0.5 或 1,右侧为 99 或 99.5 或 99.9 - 取决于您的数据)。

或者可以执行一种更简单的方法,您something将成为比例列中的比率min()max()值。例如,您可以从缩放0.9 * min()1.1 * max()

PS我想那个真正的小值,比如1e-8可能在代码中的某个地方四舍五入。


推荐阅读