zoukankan      html  css  js  c++  java
  • 机器学习总结-特征处理和特征选择

    特征处理和特征选择

    • 统计特征
    • 加减平均:与均值进行比较。
    • 分位线:处于前百分之几。
    • 次序:排在第几位。
    • 比例:类目占比。

    购物推荐中的特征处理示例:

    1. 加入购物车时间距当前的天数。-用户商品统计特征
    2. 排除30天内从没买过商品的用户。-数据清洗
    3. 在购物车里的商品,哪些会买,哪些不会买。-规则
    4. 点击、加购物车、收藏的购买转化率。-用户商品统计特征
    5. 自定义函数描述不同商品的当前热度。-商品统计特征
    6. 不同商品的点击、加购物车、收藏,购买的总量。商品统计特征
    7. 不同用户对不同商品的点击、加购物车、收藏,购买的总量。-用户商品的统计特征
    8. 自定义函数描述用户购买习惯(犹豫型、果断型,对价格的敏感程度)。-用户统计特征
    9. 商品的竞争力(在同类别商品中的排名)。-商品统计特征
    10. 商品各类操作的变化趋势(最近1/2/3/7/14/30天的操作数与平均的比值)。-商品统计特征
    11. 最近交互的时间/交互的总天数。
    12. 用户在时间段内交互商品的排名。-用户商品的统计特征

    组合特征

    • 不同特征简单拼接
    • 学习树形模型(如GBDT)得到划分路径,然后使用不同路径对应的特征组合成不同的新特征,最后将新特征和原始特征训练LR模型。

    特征选择

    为什么要进行特征选择:特征冗余:消耗计算性能,特征噪声:可能使结果变差。
    注意:特征选择!=降维

    • 去掉变化小的特征特征:计算方差。
    • 单变量选择特征:依次计算单个特征和结果的相关性,去掉低相关的特征。
    • 递归删除特征:用一个方法估计每个特征的权值,每次删除权值最小的特征,递归进行,直到满足特征个数要求。
      手写数字集的示例:
    from sklearn.svm import SVC
    from sklearn.datasets import load_digits
    from sklearn.feature_selection import RFE
    import matplotlib.pyplot as plt
    
    #Load the digits dataset
    digits = load_digits()
    X = digits.images.reshape((len(digits.images), -1))
    y = digits.target
    
    #Create the RFE object and rank each pixel
    svc = SVC(kernel="linear", C=1)
    rfe = RFE(estimator=svc, n_features_to_select=1, step=1)
    rfe.fit(X, y)
    ranking = rfe.ranking_.reshape(digits.images[0].shape)
    
    #Plot pixel ranking
    plt.matshow(ranking, cmap=plt.cm.Blues)
    plt.colorbar()
    plt.title("Ranking of pixels with RFE
    ")
    plt.show()
    

    像素排序的结果:

    • 从模型中选择特征
      • 使用L1正则来选择特征
      • 随机稀疏模型
      • 基于树的特征选择:基于树的预测模型能够用来计算特征的重要程度,可以用来去除不相关的特征。

    参考:
    http://scikit-learn.org/stable/modules/feature_selection.html#feature-selection 中文版
    http://www.cnblogs.com/hhh5460/p/5186226.html
    http://www.cnblogs.com/jasonfreak/p/5595074.html

  • 相关阅读:
    INSERT INTO插入行记录
    BULK INSERT导入数据库
    第三章 必须知道的一些基础知识[DDT书本学习 小甲鱼]【3】
    第三章 必须知道的一些基础知识[DDT书本学习 小甲鱼]【2】
    第二章 用Python设计第一个游戏[DDT书本学习 小甲鱼]
    第一章 就这么愉快地开始吧 [DDT书本学习 小甲鱼]
    Linux——添加用户操作
    Linux——常用命令
    Linux——ls
    redis基本命令
  • 原文地址:https://www.cnblogs.com/sandy-t/p/6808429.html
Copyright © 2011-2022 走看看