如何在Python中使用scikit-learn库进行数据缩放?


特征缩放是构建机器学习算法中数据预处理阶段的重要步骤。它有助于将数据归一化到特定范围内。

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

为什么需要它?

作为输入提供给学习算法的数据应保持一致和结构化。输入数据的全部特征应处于单个尺度上,以便有效地预测值。但在现实世界中,数据是非结构化的,而且大多数情况下,并非处于相同的尺度上。

这时,归一化就发挥作用了。它是最重要的数据准备过程之一。它有助于更改输入数据集列的值,使其落入相同的尺度。

让我们了解如何使用Scikit learn库在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库生成输入数据。

  • 使用'preprocessing'类中的MinMaxScaler函数将数据缩放至0到1的范围。

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

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

更新于:2020年12月11日

334 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告