zoukankan      html  css  js  c++  java
  • 对于特征工程的一些简单总结(其一)

    结合最近正做的蚂蚁金服比赛中遇到的小问题,以kaggle上的house prices competition的一篇kernel的特征工程处理为例子做一些简单的总结。

    house prices地址:https://www.kaggle.com/c/house-prices-advanced-regression-techniques

    kernel地址:https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard

    1.离群点分析与处理(outliers)

    数据离散程度的图,分类用boxplot,回归用scatter。也不知道我是哪根筋搭错了,二分类问题上来就画了个scatter,画面很美。

    而且好似分类问题没有离群点的处理,如果有的话也是4C标准里面的数据准确性(correct)出了问题,比如80岁误写成800这种情况,这就需要手动纠正。

    重要的是:outlier的处理不能做上头,一些主要的特征上,离群很夸张的点是完全没问题的,但是如果每个feature都去除,或者去除的离群点过多的话肯定会对最后的模型精确度造成很大影响。

    2.正太分布的数据转换(data transformation)

    因为回归问题上很多的ML model都需要数据服从正太分布,当然这是理想状况,大多时候数据是不正太分布的。

    首先通过图表查看数据:

    distplot():

    很明显我们看出房价不服从正太分布。

    还有一个很直观的方法:

    Q-Q图,可以用来检验数据是否服从某一分布,scipy里有现成的函数来实现:probplot()

    这样就更明显,数据并不符合正态分布,因此进行data-transformation:

    简单粗暴的log(1+x),对应numpy函数:log1p(data),转换后:

    好多了。

  • 相关阅读:
    MySql不同版本对表名大小写敏感!
    jQuery Intellisense in VS 2008
    控制台方式运行java程序示例
    有关SQL Server 2008安装时“安全程序支持规则”失败的解决方法
    正则表达式实现验证的技术总结
    网站开发架构设计要求
    jquery select控件的相关操作
    Windows Embedded Standard 7 开发随笔
    一步步做自己的webinstall安装包
    仿新浪新闻中异步替换关键字
  • 原文地址:https://www.cnblogs.com/fancyUtech/p/9056480.html
Copyright © 2011-2022 走看看