zoukankan      html  css  js  c++  java
  • 机器学习实战基础(十二):sklearn中的数据预处理和特征工程(五) 数据预处理 Preprocessing & Impute 之 处理分类特征:处理连续性特征 二值化与分段

    处理连续性特征 二值化与分段

    sklearn.preprocessing.Binarizer
    根据阈值将数据二值化(将特征值设置为0或1),用于处理连续型变量。大于阈值的值映射为1,而小于或等于阈值的值映射为0。默认阈值为0时,特征中所有的正值都映射到1。
    二值化是对文本计数数据的常见操作,分析人员可以决定仅考虑某种现象的存在与否。它还可以用作考虑布尔随机变量的估计器的预处理步骤(例如,使用贝叶斯设置中的伯努利分布建模)。

    #将年龄二值化
    data_2 = data.copy()
     
    from sklearn.preprocessing import Binarizer
    X = data_2.iloc[:,0].values.reshape(-1,1)               #类为特征专用,所以不能使用一维数组
    transformer = Binarizer(threshold=30).fit_transform(X)
     
    transformer

    preprocessing.KBinsDiscretizer
    这是将连续型变量划分为分类变量的类,能够将连续型变量排序后按顺序分箱后编码。总共包含三个重要参数:

    from sklearn.preprocessing import KBinsDiscretizer
     
    X = data.iloc[:,0].values.reshape(-1,1) 
    est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')
    est.fit_transform(X)
     
    #查看转换后分的箱:变成了一列中的三箱
    set(est.fit_transform(X).ravel())
     
    est = KBinsDiscretizer(n_bins=3, encode='onehot', strategy='uniform')
    #查看转换后分的箱:变成了哑变量
    est.fit_transform(X).toarray()



  • 相关阅读:
    C# 日志本地化工具
    javascript面向对象的写法01
    VM12-Pro 安装CentOS7 并配置静态IP出坑记
    基于CentOS7.x安装Nginx-1.18.0
    程序员思维导图、web初学者必备、web前端知识集锦-不断更新中...
    js知识
    swiper的使用
    web 移动端键盘处理-vue移动端那些事
    vue学习计划-vuex生态
    vue 组件复用
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/12981363.html
Copyright © 2011-2022 走看看