特征缩放是一种在固定范围内标准化数据中存在的独立特征的技术。它是在数据预处理期间执行的, 以处理高度变化的幅度或值或单位。如果未进行特征缩放, 则机器学习算法将权衡更大的值, 更大的值, 并将较小的值视为较低的值, 而与值的单位无关。
例子:如果算法未使用特征缩放方法, 则可以认为3000米的值大于5公里, 但实际上不正确, 在这种情况下, 算法会给出错误的预测。因此, 我们使用特征缩放将所有值带到相同的大小, 从而解决此问题。
执行特征缩放的技术
考虑两个最重要的因素:
最小-最大归一化:
此技术会重新缩放分布值介于0和1之间的特征或观察值。
文章图片
标准化:
这是一种非常有效的技术, 可以重新缩放特征值, 使其具有均值为0且方差等于1的分布。
文章图片
下载数据集:
转到链接并下载
Data_for_Feature_Scaling.csv
文章图片
以下是Python代码:
# Python code explaining How to
# perform Feature Scaling""" PART 1
Importing Libraries """import numpy as np
import matplotlib.pyplot as plt
import pandas as pd# Sklearn library
from sklearn import preprocessing""" PART 2
Importing Data """data_set = pd.read_csv( 'C:\\Users\\dell\\Desktop\\Data_for_Feature_Scaling.csv' )
data_set.head()# here Features - Age and Salary columns
# are taken using slicing
# to handle values with varying magnitude
x = data_set.iloc[:, 1 : 3 ].values
print ( "\nOriginal data values : \n" , x)""" PART 4
Handling the missing values """from sklearn import preprocessing""" MIN MAX SCALER """min_max_scaler = preprocessing.MinMaxScaler(feature_range = ( 0 , 1 ))# Scaled feature
x_after_min_max_scaler = min_max_scaler.fit_transform(x)print ( "\nAfter min max Scaling : \n" , x_after_min_max_scaler)""" Standardisation """Standardisation = preprocessing.StandardScaler()# Scaled feature
x_after_Standardisation = Standardisation.fit_transform(x)print ( "\nAfter Standardisation : \n" , x_after_Standardisation)
【ML特征缩放指南–第2部分】输出:
CountryAgeSalaryPurchased0France447200001Spain274800012Germany305400003Spain386100004Germany4010001Original data values : [[44 72000] [27 48000] [30 54000] [38 61000] [401000] [35 58000] [78 52000] [48 79000] [50 83000] [37 67000]]After min max Scaling : [[ 0.333333330.86585366] [ 0.0.57317073] [ 0.058823530.64634146] [ 0.215686270.73170732] [ 0.254901960.] [ 0.156862750.69512195] [ 1.0.62195122] [ 0.411764710.95121951] [ 0.450980391.] [ 0.196078430.80487805]]After Standardisation : [[ 0.095369350.66527061] [-1.15176827 -0.43586695] [-0.93168516 -0.16058256] [-0.344796870.16058256] [-0.1980748-2.59226136] [-0.564879980.02294037] [ 2.58964459 -0.25234403] [ 0.388813490.98643574] [ 0.535535571.16995867] [-0.418157910.43586695]]
推荐阅读
- ML特征缩放指南–第1部分
- ML用于特征选择的额外树分类器
- ML信用卡欺诈检测详细示例
- ML Logistic回归中的成本函数
- ML分类与回归介绍和区别
- ML使用Scikit-learn进行癌细胞分类
- ML线性回归的波士顿房屋Kaggle挑战
- Python Set中的最大值和最小值
- 为何XP显示上次光盘内容如何处理