如何在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之间的值。
此缩放后的数据显示在控制台上。
广告