博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
特征预处理
阅读量:5090 次
发布时间:2019-06-13

本文共 2040 字,大约阅读时间需要 6 分钟。

# coding=utf-8from sklearn.preprocessing import MinMaxScalerfrom sklearn.preprocessing import StandardScalerfrom sklearn.preprocessing import Imputerimport  numpy as np'''特征预处理:通过特定的统计方法,将数据转换成算法要求的数据 。包括数据缺失,数据填充等数值型数据:    标准缩放:        1、归一化:通过对原始数据进行变换把数据映射到(默认为0,1)之间;               计算公式:x' = (x-min)/(max-min) x'' = x'*(mx-mi)+mi             目的:使得某一个特征对最终结果不会造成更大的影响            弊端:异常点对归一化的最大值最小值影响很大。            适用场景:鲁棒性差,只适合小数据的场景(无异常数据)            api:MinMaxScaler(feature_range=(2,4))                    MinMaxScaler.fit_transform()        2、标准化:通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内            公式:x' = (x-mean)/a 其中mean为平均值;a为标准差                    方差:var = ((x1-mean)^2 +(x2-mean)^2+ ....)/n ,其中var为方差,n为每个特征样本数 ;方差可以考量数据的稳定性                    标准差:对方差开平方,即var^(1/2)            优点:对异常点没有影响,适合嘈杂数据场景            api:StandardScaler()                    StandardScaler.fit_transform()                    StandardScaler.mean_                    StandardScaler.with_std                            3、缺失值:主要使用pandas处理(np.nan为float类型)                     删除:(不建议) dropna()                    填充:填充使用列的均值、中位数、众数  fillna()                      替换:replace("?",np.nan)            Api:Imputer(missing_values='NaN',strategy="mean")                    Imputer.fit_transform()  类别型数据: one-hot编码时间类型:  时间的切分特征预处理Api:    sklearn.preprocessing    归一化Api:'''def mm():    """    归一化处理    错误1:setting an array element with a sequence. 表示列没有对齐    :return:    """    m = MinMaxScaler(feature_range=(2,4))    data = m.fit_transform([[9,2,3],[40,50,4],[34,23,45]])    print(data)    return Nonedef stand():    """    标准化缩放    :return:    """    std = StandardScaler()    data = std.fit_transform([[9,2,3],[40,50,4],[34,23,45]])    print(data)    return  Nonedef im():    """    缺失值处理    :return:    """    i = Imputer(missing_values='NaN',strategy='mean',axis=0)    result =i.fit_transform([[9,np.nan,3],[np.nan,50,4],[34,23,45]])    print(result)    return Noneif __name__ == '__main__':    mm()    stand()    im()

 

转载于:https://www.cnblogs.com/ywjfx/p/10847149.html

你可能感兴趣的文章
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
IOS-图片操作集合
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
测试计划
查看>>
Mysql与Oracle 的对比
查看>>
jquery实现限制textarea输入字数
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>
第九章 前后查找
查看>>
Python学习资料
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>
第一阶段冲刺06
查看>>
EOS生产区块:解析插件producer_plugin
查看>>