EDA,Exploratory Data Analysis

这几天在看Kaggle上NYC Taxi Trip Duration竞赛的Kernels(analyst们分享的数据分析/挖掘心得,可以当成tutorials来看观摩),排名第一的Kernel基于R语言,主要是EDA分析(Exploratory Data Analysis),内容翔实到可怕,我花了两天才看完,有兴趣的可以去围观。

这里我总结一下在看完那篇Kernel之后,我认为值得记录的在EDA中的一些要点:

  1. 上一篇笔记里我提到在R里做数据准备用dplyr包,这里我更正为tidyverse包。dplyr包只是数据处理的主要工具包之一,并不完整。根据R for Data Sciencetidyverse包是一系列data manipulation/wrangling工具的集合,包括了dplyrtidyrtibble等在内,即可以通过tidyverse一键载入所有(当然还需要结合其他的包),懒人福音。

  2. 载入数据(CSV文件)时,如果数据量很大,最好不要用read.csv()或者read.table(),调用read_csv()fread()会更高效。

  3. 载入数据之后应先检查missing values、做reformatting(比如把某些character型或integer型数据转换为factor型数据),已经分好训练集和测试集的应做Consistency check。

  4. 之后对每一个变量(或特征)做简单统计分析和可视化,以便初步了解数据。

  5. 接着分析变量与变量间的关系,主要是每个变量和目标变量(target)的关系。这一步的目的是:a) 进一步理解数据,b) 找出显著影响目标变量的特征,c) 识别异常值, d) 识别潜在的新特征,为特征工程做准备。

  6. 异常值的识别有时候需要结合两个以上的变量,且需要对与问题有关的真实世界有了解。

  7. 构建新特征主要依靠对已有特征的拆分和重组,有时候需要引入新数据集。

  8. 日期与时间变量可以用lubridate处理;ggplot2包的geom_tile()可以结合两个维度的日期/时间变量形成热感图,有时候可以据此得到很有用的结论。

  9. 有关经纬度的数据应结合地图来做分析和可视化,geosphere包+leaflet包,谁用谁知道:)

说句题外话,关于做EDA的时候应该是针对所有数据,还是只针对训练集数据,不同人有不同理解。我导师倾向前者,Kaggle上不少人则倾向后者。我的理解是,二者皆可行,毕竟抓到老鼠的都是好猫,至于实际项目中选择哪个,看建模的目的和对建模的理解。

以上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 谢谢遇见你 命里注定一般 猝不及防 在我十七岁的天空下 十六岁的你出现了 窗外的雨淅淅沥沥 我又想起你了 你不知道...
    月半何怜阅读 1,235评论 0 0
  • 最近特别累,今天是我连续第十五天站在讲台上,这十五天高负荷的运转着,每天都是上课,上课,下课,吃饭,睡觉。问我是做...
    樊花田阅读 3,744评论 0 0
  • 浪里个浪,嗨那个嗨,一晃就到了面对一个残酷事实的时间了 假期余额不足…… 小编要先赞叹一句, 被暑假上了好几套班的...
    德迩德语阅读 2,701评论 0 1
  • 店址开在了领世郡转盘钟楼附近,和艾克仕健身中心比邻,餐位店外露天4桌,店内7桌和12座餐台,店内装修色调以灰黑为主...
    关门兔1阅读 3,077评论 0 0
  • 一切投资的奥义在于发现对手、研究对手、打败对手 交易前制定交易计划,按计划严格执行纪律 板块轮动、走势分解、内在逻...
    月满西楼_e067阅读 1,514评论 0 0