美文网首页
EDA,Exploratory Data Analysis

EDA,Exploratory Data Analysis

作者: 401a26360366 | 来源:发表于2017-10-31 16:47 被阅读0次

    这几天在看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上不少人则倾向后者。我的理解是,二者皆可行,毕竟抓到老鼠的都是好猫,至于实际项目中选择哪个,看建模的目的和对建模的理解。

    以上。

    相关文章

      网友评论

          本文标题:EDA,Exploratory Data Analysis

          本文链接:https://www.haomeiwen.com/subject/hypbpxtx.html