码迷,mamicode.com
首页 > 其他好文 > 详细

Kaggle机器学习教程学习(三)

时间:2018-04-15 16:53:06      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:ble   cat   slot   try   include   应该   kaggle   from   put   

  该篇详细讨论数据清理步骤。其实这些基础我觉得与数模竞赛过程都是差不多的。

  如文中所说:

    The first step to data cleaning is removing unwanted observations from your dataset.(数据清理的第一步是从数据集中删除不需要的观察数据。)

    This includes duplicate or irrelevant observations.(这主要是一些重复或者不相关的数据。)

  1.处理重复或不相关数据

    仔细观察下面两张图:

技术分享图片

                      (原图)

技术分享图片

                   (清理后的图)

  asphalt、shake-shingle、composition、asphalt,shake-shingle这几项都是大小写不一致或有错别字的,清理以后干净很多。

  2.处理异常值

    目前我了解到的一些异常值会影响性能,但也有一些异常值可能会很重要。具体看情况处理,如何有十分合理的理由去掉异常值则会是很有帮助的。

  3.处理缺失的数据

    最常见的两种方式:

    (1) Dropping observations that have missing values.(去掉缺失值项,但这不是一个好办法,因为:

      • The fact that the value was missing may be informative in itself.(缺失值具有观察意义。)
      • Plus, in the real world, you often need to make predictions on new data even if some of the features are missing!(即使缺失一些值也可以对新数据进行预测!)

      )

    (2) Imputing the missing values based on other observations.(根据其他观察结果推算缺失值。)

    一段真理:Missing data is like missing a puzzle piece. If you drop it, that’s like pretending the puzzle slot isn’t there. If you impute it, that’s like trying to squeeze in a piece from somewhere else in the puzzle.

    Missing categorical data(缺失分类数据)

    The best way to handle missing data for categorical features is to simply label them as ’Missing’!(对于处理缺失分类特征数据的最佳办法是将它们标记为‘缺失‘!)

      • You’re essentially adding a new class for the feature.(相当于为数据集添加了新的一项类型。)
      • This tells the algorithm that the value was missing.(明确的告诉算法值是缺失的。)
      • This also gets around the technical requirement for no missing values.(避免了没有缺失值的要求。)

    Missing numeric data(缺失数字数据)

    For missing numeric data, you should flag and fill the values.(对于缺失数字数据,你应该标记并填充一个值。)

    1. Flag the observation with an indicator variable of missingness.(标记一个缺失的状态。)
    2. Then, fill the original missing value with 0 just to meet the technical requirement of no missing values.(使用0填充缺失值的位置以满足没有缺失值的要求。)

    By using this technique of flagging and filling, you are essentially allowing the algorithm to estimate the optimal constant for missingness, instead of just filling it in with the mean.(通过使用这种标记和填充技术,您基本上可以让算法估计缺失的最佳常数,而不是仅仅用平均值填充它。)

  emmm...写这篇的过程越来越发现基本只能是重述一下原文,于是就只能当翻译一样的去写了,然而我这种英语渣只能是在谷歌翻译下一句一句的通过上下文理解后完成的...所以,如有翻译不好或理解不对的地方还望指正,只希望不要误人子弟!

Kaggle机器学习教程学习(三)

标签:ble   cat   slot   try   include   应该   kaggle   from   put   

原文地址:https://www.cnblogs.com/darkchii/p/8847461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!