机器学习——特征缩放

前言:大多数模型都是直接给出公式,其实自己私下有推导,涉及好多自己不懂的数学知识,会一点点补充的

机器学习专栏机器学习专栏

特征缩放

1、特征缩放作用

面对特征数量较多的时候,保证这些特征具有相近的尺度(无量纲化),可以使梯度下降法更快的收敛。这两张图代表数据是否均一化的最优解寻解过程(左边是未归一化的),
从这两张图可以看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解
在这里插入图片描述

2、特征缩放的四种方式

  1. Min-Max Normalization(min-max标准化)
    x ∗ = x − m i n ( x ) m a x ( x ) − m i n ( x ) x^*=\frac{x-min(x)}{max(x)-min(x)} x=max(x)min(x)xmin(x)
  2. Mean normalization(mean归一化)
    x ∗ = x − m e a n ( x ) m a x ( x ) − m i n ( x ) x^*=\frac{x-mean(x)}{max(x)-min(x)} x=max(x)min(x)xmean(x)
  3. Standarddization(z-score标准化)
    x ∗ = x − x ˉ σ x^*=\frac{x-\bar {x}}{\sigma} x=σxxˉ
  4. max标准化
    x ∗ = x m a x ( x ) x^*=\frac{x}{max(x)} x=max(x)x

3、sklearn实现特征缩放

# -*- coding: utf-8 -*-
"""
Created on Fri Nov 15 16:31:37 2019

@author: 1
"""

import pandas as pd
from sklearn import preprocessing 
 
#读取葡萄酒数据集
data = pd.read_csv("D:\workspace\python\machine learning\data\wine_data.csv",sep=',',header=None,skiprows=1)
x =data.iloc[:,1]
#获取数据的基本情况
print('获取数据的基本情况:',x.describe())
#我们不知道z的shape属性是多少,但是想让z变成只有一列,行数不知道多少,z.reshape(-1,1)
X_train=x.values.reshape(-1,1)

#min-max标准化
MinMax = preprocessing.MinMaxScaler()
X_MinMax = MinMax.fit_transform(X_train)
print('min-max标准化归一化后结果:',X_MinMax)

#z-score标准化
X_scaled = preprocessing.scale(X_train)
print("z-score标准化结果:",X_scaled)

#max标准化
X_max_scaler = preprocessing.MaxAbsScaler(X_train)
print("max标准化结果:",X_max_scaler)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tao_RY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值