python - Sklearn MinMax 变换不起作用,不会带来相等的数字
问题描述
我对 MinMax Scaler 有疑问。我想将它用于 LIBSVM 格式的图像数据。但是,在我将它带入格式之前,我想缩放由 -1 到 1 范围内的图像数组组成的 Numpy 数组。最大值为 255,最小值为 0,来自颜色。
现在我已经将它安装到训练集上。这里已经很明显了,缩放值至少高于 1 和低于 -1(可能是小数点后 10 位)。但在测试集中情况要糟糕得多。在这里,255 突然归一化为 1.234 ... 并且 2 归一化为 -1.175 ...
这可能是什么原因?这里有人可以帮助我吗?
(可能是因为测试集的最小值是 2 而不是 0?如果是这样,我该如何解决这个问题?)
非常感谢!
scaler = MinMaxScaler(feature_range=(-1,1))
X_scaled = scaler.fit_transform(X)
X_t_scaled = scaler.transform(X_t)
print("TRAIN")
print(np.max(X))
#
print(np.max(X_scaled))
print(np.mean(X_scaled))
print(np.min(X))
print(np.min(X_scaled))
print("TEST")
print(np.max(X_t))
print(np.max(X_t_scaled))
print(np.mean(X_t_scaled))
print(np.min(X_t))
print(np.min(X_t_scaled))
这是输出:
255 1.00000000000000004 0.0012813871623244555 0 -1.0000000000000002 255 1.2346938775510201 0.0028408630191349544 2 -11.12754385964
解决方案
推荐阅读
- r - Graphviz 正在绘制带有 misig 箭头和节点圆形框架的 DAG
- google-cloud-platform - GCP VMWare 引擎 - 与 Vsphere 客户端的连接不起作用
- python - 运行此 python 代码时出现错误。错误是“ElementNotInteractableException”。任何人都可以帮助我吗?
- python - 如何在 Python 中使用 SPACE 键进行图像交换
- jmeter - Jmeter-虽然控制器没有退出循环
- c# - 如何在 blazor 中放大和裁剪 SVG 到特定坐标
- python - 如何按分钟将数据分离到 csv 文件中
- python - 通过 xarray 保存 NetCDF4 期间的 MemoryError
- python - 使用 sqlalchemy 使用数据框列更新现有表的列
- flutter - 如何制作本设计中的弯曲和有角度的容器?