Python数据分析与数据挖掘 第5章 数据整理.ppt

Python数据分析与数据挖掘 第5章 数据整理.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
归一化 将数据样本进行转换,使其在[min, max]区间内分布,或者特例情况在[0, 1]区间内分布,可以采取以下的两种方法:一是对于一维的数据序列,可以使用sklearn.preprocessing.minmax_scale()方法;二是对于多维数据序列,且需要按照其不同的列(属性)分别进行转换,可使用sklearn.preprocessing.MinMaxScaler模型。 data = np.array([41,26,70,14,1,12,8,87,66,90,1,69,11],dtype=float) d = preprocessing.minmax_scale(data, feature_range= (-5,10)) d.min(), d.max() (-5.0, 10.0) 归一化 scaler = preprocessing.MinMaxScaler(feature_range=(-5,5)) X = np.array([[1,-1, 2], [2, 0, 0], [0, 1, -1]]) scaler.fit(X) #训练模型,确定参数 y = scaler.transform(X) y #各列数据均在[-5,5]区间 array([[ 0. , -5. , 5. ], [ 5. , 0. , -1, [-5. , 5. , -5. ]]) MinMaxScaler(feature_range=(-5, 5)) 其他转换 变换函数 变换类定义 变换方法 .normalize() .Normalizer 进行正则化处理,并可以通过设置函数参数norm=l1或norm=l2来进行L1 正则化或L2正则化(在线性回归方法中,分别用于Lasso回归和Ridge回归)。如果计划使用二次形式(如点积或任何其他核函数)来量化任何样本间的相似度,则该变换非常必要。 .robust_scale() .RobustScaler 按照任意轴(axis),对数据进行以中位数为中心,以上下四分位数为依据的数据变换。该变换可以减少异常值对变换的影响。 .maxabs_scale() .MaxAbsScaler 将各特征数据变换到 [-1, 1]区间。不破坏数据的稀疏性特征。可用于按CSR或CSC矩阵的稀疏化处理。 .power_transform() .PowerTransformer 属于一种参数单调变换,可使数据尽可能接近正态分布(适用于对方差异性的数据进行建模,或其他要求数据服从正态分布的情况)。同时,会完成数据的0均值单位方差的标准化变换。函数支持Box-Cox和Yeo-Johnson变换,使用最大似然估计确定使方差稳定且偏差最小化的最佳变换参数。 .quantile_transform() .QuantileTransformer 变换数据,使其各特征值服从均匀或正态分布。变换倾向于分散较为频繁的值,可减少数据边际异常值的影响,是一项健壮的非线性预处理方法。 5.8 离散化 二值化 可以使用sklearn.preprocessing.binarize()方法对数据进行二值化处理。 data from sklearn import preprocessing preprocessing.binarize(data,threshold=50) #值大于阈值为1,否则为0 array([[1], [1], [1], [1], [0], [1], [0], [0], [0], [1]]) array([[92], [79], [87], [89], [33], [55], [34], [ 1], [47], [98]]) 分箱处理 pandas.qcut(x, q, labels=None, retbins: bool=False, precision: int=3, duplicates: str=raise) pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False) 参数x为一维数组或数据系列; 参数q为归一化的分箱划分比例,用n+1个0-1之间的数值表示n个分箱的比例范围; 参数bins为用n+1个数值表示n个分箱的范围; 参数labels为n个分箱的标签,以列表方式给出。 分箱处理 data = pd.Series([0, 8, 1, 5, 3, 7, 2, 6, 10,

文档评论(0)

dllkxy + 关注
实名认证
内容提供者

本文库主要涉及建筑、教育等资料,有问题可以联系解决哦

版权声明书
用户编号:5213302032000001

1亿VIP精品文档

相关文档