楼主: CDA网校
1073 0

[程序分享] python数据分析数据标准化及离散化详解——CDA人工智能学院 [推广有奖]

管理员

大师

64%

还不是VIP/贵宾

-

威望
3
论坛币
35073 个
通用积分
3108.5260
学术水平
260 点
热心指数
268 点
信用等级
235 点
经验
195810 点
帖子
5180
精华
19
在线时间
3728 小时
注册时间
2019-9-13
最后登录
2024-6-7

初级热心勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
CDA人工智能学院致力于以优质的人工智能在线教育资源助力学员的DT职业梦想!课程内容涵盖数据分析机器学习深度学习人工智能tensorFlowPyTorch、知识图谱等众多核心技术及行业案例,让每一个学员都可以在线灵活学习,快速掌握AI时代的前沿技术。PS:私信我即可获取CDA会员1个月免费试听机会

本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下
标准化
1、离差标准化
是对原始数据的线性变换,使结果映射到[0,1]区间。方便数据的处理。消除单位影响及变异大小因素影响。
基本公式为:   
x'=(x-min)/(max-min)

代码:   
#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#离差标准化
data1 = (data-data.min())/(data.max()-data.min())
print(data1)

运行结果


屏幕截图 2020-12-22 091825.png

2、标准差标准化

消除单位影响以及变量自身变异影响。(零-均值标准化)
基本公式为:


x'=(x-平均数)/标准差
python代码:   
#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#标准差标准化
data1 = (data-data.mean())/data.std()
print(data1)


运行结果:

屏幕截图 2020-12-22 091849.png

3、小数定标标准化

消除单位影响
基本公式为:
其中j=lg(max(|x|)),即以10为底的x的绝对值最大的对数

x' = x/10^j
实现代码为:   
#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#标准差标准化
j = np.ceil(np.log10(data.abs().max()))#进一取整,abs()为取绝对值
data1 = data/10**j
print(data1)



结果:

屏幕截图 2020-12-22 091918.png

离散化

离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法

1、等宽离散化

将连续数据按照等宽区间标准离散化数据,好处之一是处理的数据是有限个数据而不是无限多。
使用pandas的cut方法。非等宽只需要更改cut的第二个参数,例如:第二个参数为[1,100,3000,10000,200000],即划分为了四个区间。

#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
importnumpy as np
importpandas as pd
importmatplotlib.pylab as plt
importmysql.connector
conn=mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql='select price,comment from taob'#sql语句
data=pd.read_sql(sql,conn)#获取数据
#离散化
data1=data['price'].T.values#获取价格的一维数组
lable=['很低','低','中','高','很高']
data2=pd.cut(data1,5,labels=lable)
print(data2)

执行结果:

屏幕截图 2020-12-22 091936.png

2、等频率离散化

将相同数量的数据放进一个区间。

3、一维聚类离散化

按属性对数据进行聚类离散。

以上就是本文的全部内容,希望对大家的学习有所帮助。

0D04CBB8996CB009643B8D6FD844F0C0.jpg

关注“CDA人工智能学院”,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Python数据分析 python 数据标准化 数据分析 数据标准

0D04CBB8996CB009643B8D6FD844F0C0.jpg (10.55 KB)

0D04CBB8996CB009643B8D6FD844F0C0.jpg

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-9 03:04