如何使用Python中的scikit-learn库缩放数据?

特征缩放是构建机器学习算法的数据预处理阶段的重要步骤。它有助于规范化数据以使其落在特定范围内。

有时,它还有助于提高机器执行计算的速度。

为什么需要它?

作为输入馈入学习算法的数据应保持一致和结构化。输入数据的所有特征都应在单个范围内,以有效地预测值。但是在现实世界中,数据是非结构化的,而且在大多数情况下,数据的规模是不同的。

这是规范化的时候。这是最重要的数据准备过程之一。它有助于将输入数据集的列的值更改为相同的范围。

让我们了解如何使用Scikit学习库在Python中执行功能缩放。

示例

import numpy as np
from sklearn import preprocessing
input_data = np.array(
[[34.78, 31.9, -65.5],
[-16.5, 2.45, -83.5],
[0.5, -87.98, 45.62],
[5.9, 2.38, -55.82]])
data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print ("\nThe scaled data is \n", data_scaled_minmax)
输出结果
The scaled data is
[[1.  1. 0.1394052 ]
[0.  0.75433767 0. ]
[0.33151326 0. 1. ]
[0.43681747 0.75375375 0.21437423]]

说明

  • 所需的软件包已导入。

  • 输入数据是使用Numpy库生成的。

  • “预处理”类中提供的MinMaxScaler函数用于将数据缩放到0到1的范围内。

  • 这样,数组中的任何数据都会按比例缩小到0到1之间的值。

  • 此缩放的数据显示在控制台上。