什么是机器学习中的标准化
数据集是任何机器学习模型的核心。对数据集中的数据进行缩放并将其保持在特定范围内至关重要,以提供准确的结果。
机器学习中的标准化是一种特征缩放方法,用于使数据集统一,从而使自变量和特征具有相同的规模和范围。标准化将标准差转换为1,均值转换为0。在标准化中,从每个数据点中减去均值,然后将得到的结果除以标准差,从而得到标准化和重新缩放的数据。
这种技术用于诸如主成分分析、支持向量机和k均值聚类等机器学习模型,因为它们依赖于欧几里德距离。
数学表示如下
Z = (X - m ) / s
其中
X − 一个数据点
m − 均值
s − 标准差
Z − 标准化值
算法
步骤 1 − 导入所需的库。一些常用的导入库来标准化机器学习模型包括 numpy、pandas 或 scikit-learn。
步骤 2 − 从预处理器导入 StandardScaler() 函数。
步骤 3 − 上传要标准化的数据集。
步骤 4 − 将数据分成训练数据和测试数据:X_test、y_test、X_train 和 y_train。
步骤 5 − 将数据拟合到 StandardScaler() 函数中进行标准化。
示例
在这个例子中,我们将通过取随机数据值来检查标准化。让我们考虑以下值集作为数据点:
3 5 7 8 9 4 The mean m= 36/6 = 6 The standard deviation s = 2.36 Z1= - 1.27 Z2= - 0.42 Z3= - 0.42 Z4= 0.84 Z5= 1.27 Z6= -0.84 Now, the mean is (Z1 + Z2 + Z3 + Z4 + Z5)/5 = (- 1.27 - 0.42 + 0.42 + 0.84 + 1.27 - 0.84)/5 = 0
标准差为1
因此,标准化后,值在相同的范围内,均值为0,标准差为1。
示例
from sklearn.preprocessing import StandardScaler import numpy as np # Create a sample data matrix X = np.array([[85,72,80], [64, 35, 26], [67, 48, 29], [100, 11, 102], [130, 14, 151]]) # create an instance of StandardScaler standard_scaler = StandardScaler() # Fit the scaler to the data standard_scaler.fit(X) # Transform the data using the scaler X_new= standard_scaler.transform(X) # Print the transformed data print(" new data:", X_new)
输出
new data: [[-0.17359522 1.59410679 0.0511375 ] [-1.04157134 -0.04428074 -1.09945622] [-0.91757475 0.53136893 -1.03553435] [ 0.44638772 -1.10701861 0.5198979 ] [ 1.68635359 -0.97417637 1.56395517]]
在这个程序中,变量 X 包含特征作为数字数组。它被拟合到 StandardScaler() 函数中,并显示标准化数组。
结论
标准化是通过操作数据来获得无错误结果的好方法。数据集具有各种变量,其值可能超出范围。这个问题可以使用标准化和规范化来解决,两者都属于特征缩放。特征缩放的目的是确保在使用机器学习模型预测输出时,所有特征都具有同等重要性。
广告