前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 数据分析基础 day17-对自变量进行标准化

python 数据分析基础 day17-对自变量进行标准化

作者头像
billyang916
修改2019-02-04 17:09:16
2.7K2
修改2019-02-04 17:09:16
举报
文章被收录于专栏:python读书笔记

今天是读《python数据分析基础》的第17天,读书笔记的内容为变量的标准化。 在进行 在建模的时候,会遇到不同的自变量之间的量纲差距很大的情况,如输入变量有年龄和身高(身高以m为单位)时,年龄的范围为(0-100],而身高的范围则是(0,2.5]。此时两个变量之间的取值范围差了一个数量级。若采用这两个变量进行建模,则有可能出现这样的情况:年龄对预测值的影响远高于身高。这意味着年龄的影响程度被高估,身高的影响程度被低估。 为使得变量的影响程度能被正确估计,提高模型的预测精度,对自变量进行标准化是一个有效且可行的方式。 以下将用python演示对自变量进行标准化的操作:

注:数据来源于https://github.com/cbrownley/foundations-for-analytics-with-python/tree/master/statistics/winequality-both.csv

min-max标准化(又名离差标准化)

公式如下: x*=(x-min)/(max-min) 代码如下:

代码语言:markdown
复制
import pandas as pd

#导入数据
inputFile='数据文件路径'
wine=pd.read_csv(inputFile)

#将'tpye'和'quality'字段以外的字段进行标准化
#去除'tupe'和'quality'字段
wineInd=wine[wine.columns.difference(['type','quality'])]

#min-max标准化

wineIndZScore=(wineInd-wineInd.min())/(wineInd.max()-wineInd.min())
print(wineIndMinMax.head(5))

z-score 标准化(又名标准差标准化)

公式如下: x*=(x-mean)/std 其中,mean按为样本均值,std为样本标准差 代码如下:

代码语言:javascript
复制
#自变量标准化

import pandas as pd

#导入数据
inputFile=‘数据文件路径’
wine=pd.read_csv(inputFile)

#将'tpye'和'quality'字段以外的字段进行标准化
#去除'tupe'和'quality'字段
wineInd=wine[wine.columns.difference(['type','quality'])]

#z-score标准化
wineIndMinMax=(wineInd-wineInd.mean())/wineInd.std()
print(wineIndZScore.head(5))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.03.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • min-max标准化(又名离差标准化)
  • z-score 标准化(又名标准差标准化)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档