如何使用Python中的scikit-learn库扩展数据?
特征缩放是构建机器学习算法中数据预处理阶段的重要步骤。它有助于将数据归一化到特定范围内。
有时,它也有助于提高机器执行计算的速度。
为什么需要它?
作为输入提供给学习算法的数据应保持一致和结构化。输入数据的所有特征应该处于同一比例尺上,以有效地预测值。但在现实世界中,数据是非结构化的,并且大多数时候不处于同一比例尺上。
这就是归一化产生的时候。它是最重要的数据准备过程之一。它有助于将输入数据集的列的值更改为在相同的比例尺下。
让我们看看如何使用Python中的Scikit learn库来执行特征缩放。
更多Python相关文章,请阅读: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)
结果
缩小后的数据为
[[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之间的值。
-
在控制台上显示这些缩放后的数据。