Python数据标准化的实例分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python数据标准化的实例分析
说明
1、将原始数据转换为均值为0,标准差在1范围内。
2、对标准化⽽⾔:如果出现异常点,由于有⼀定数据量,少量异常点对平均值的影响不⼤,因此⽅差变化不⼤。
实例
def stand_demo():
"""
标准化
:return:
"""
# 1. 获取数据
data = pd.read_csv('dating.txt')
data = data.iloc[:, :3]
print('data:\n', data)
# 2.实例化⼀个转换器类
transfer = StandardScaler()
# 3.调⽤fit_transform()
data_new = transfer.fit_transform(data)
print('data_new:\n', data_new)
return None
知识点扩充:
⼏种标准化⽅法:
归⼀化Max-Min
min-max标准化⽅法是对原始数据进⾏线性变换。
设minA和maxA分别为属性A的最⼩值和最⼤值,将A的⼀个原始值x通过min-max标准化映射成在区间[0,1]中的值x',其公式为:
新数据=(原数据-最⼩值)/(最⼤值-最⼩值)
这种⽅法能使数据归⼀化到⼀个区域内,同时不改变原来的数据结构。
实现中⼼化Z-Score
这种⽅法基于原始数据的均值(mean)和标准差(standard deviation)进⾏数据的标准化。
将A的原始值x使⽤z-score标准化到x'。
z-score标准化⽅法适⽤于属性A的最⼤值和最⼩值未知的情况,或有超出取值范围的离群数据的情况。
新数据=(原数据-均值)/标准差
这种⽅法适合⼤多数类型数据,也是很多⼯具的默认标准化⽅法。
标准化之后的数据是以0为均值,⽅差为以的正太分布。
但是Z-Score⽅法是⼀种中⼼化⽅法,会改变原有数据的分布结构,不适合⽤于对稀疏数据做处理。
很多时候数据集会存在稀疏特征,表现为标准差⼩,很多元素值为0,最常见的稀疏数据集是⽤来做协同过滤的数据集,绝⼤部分数据都是0。
对稀疏数据做标准化,不能采⽤中⼼化的⽅式,否则会破坏稀疏数据的结构。
⽤于稀疏数据的MaxAbs
最⼤值绝对值标准化(MaxAbs)即根据最⼤值的绝对值进⾏标准化,假设原转换的数据为x,新数据为x',那么x'=x/|max|,其中max为x锁在列的最⼤值。
该⽅法的数据区间为[-1, 1],也不破坏原数据结构的特点,因此也可以⽤于稀疏数据,⼀些稀疏矩阵。
针对离群点的RobustScaler
有些时候,数据集中存在离群点,⽤Z-Score进⾏标准化,但是结果不理想,因为离群点在标准化后丧失了利群特性。
RobustScaler针对离群点做标准化处理,该⽅法对数据中⼼化的数据的缩放健壮性有更强的参数控制能⼒。
到此这篇关于Python数据标准化的实例分析的⽂章就介绍到这了,更多相关Python数据标准化是什么内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。