机器学习实战 | 数据探索

数据的输入质量决定了输出的最后结果,数据的探索、预处理、特征选择、降维等特征工程占了项目的70%的时间。那么如果我们确定了商业目的,该如何一步一步渐进式进行特征工程呢?各位看官不急,请小的慢慢给你道来。

在建立模型前,我们大致需要顺序经过以下几步:

1、变量识别 2、单变量分析 3、双变量分析 4、缺失值处理 5、异常值处理 6、变量变化 7、变量创建

其中第4-7步在模型优化中会重复进行。

1、变量识别

首先,识别Predictor(即feature、输入)和Target(输出)变量。 接下来,确定变量的数据类型和类别。

举一个例子,让我们更清楚地了解这一步。 假设我们想预测学生是否会玩板球(参考下面的数据集),需要识别预测变量、目标变量,变量的数据类型和变量类别。

那么

Data_exploration_2.png

2、单变量分析

在这个阶段,我们逐个探索变量。 执行单变量分析的方法取决于变量类型是分类类型还是连续类型。

3、连续变量

在连续变量的情况下,我们需要了解变量的中心趋势和分散,使用各种统计度量可视化方法进行测量,如下所示

Data_exploration_31.png

4、分类变量

对于分类变量,我们可使用频率表来了解每个类别的分布,也可以读取每个类别下的值的百分比,也可以使用每个类别的Count和Count%来衡量。Bar chart可以用作可视化。

5、双变量分析

双变量分析的主要目的是发现两个变量之间的关系。可以对分类和连续变量的任何组合执行双变量分析。如:Continuous & Continuous,Categorical & Categorical,Categorical & Continuous and Continuous & Continuous。

6、Continuous&Continuous

在两个连续变量之间进行双变量分析时,散点图( scatter plot)是找出两个变量之间的关系的一个很好的方式。 散点图表示变量之间的关系可以是线性或非线性。

correlation-examples

  • -1: perfect negative linear correlation
  • +1:perfect positive linear correlation and
  • 0: No correlation

scatter plot只是直观来看,但是相关性如何计算呢?一般通过Pearson Correlation 来计算,缺点是:只可以确定线性相关性。非线性关系,可以采用互信息法,互信息系数能够很好地度量各种相关性,但是计算相对复杂一些。Pearson Correlation 计算方法如下:

correlation-calc1

Step 1: 计算x、y的均值 Step 2: x的每个值减去x的均值得到a, y值做类似操作得到b Step 3: 计算: a × b, a的平方和b的平方 Step 4: 求a × b, a平方和b平方的和 Step 5: 如5的公式

7、Categorical&Categorical

双向表:我们可以通过创建一个计数和计数%的双向表来开始分析关系,行表示一个变量的类别,列表示另一个变量的类别,如图。

Data_exploratio

Stacked Column Chart:更直观,如上图。 卡方检验:计算方法可以参考前面文章 确定自变量和因变量的相关性

p值为0:表示两个变量是相关的 p值为1:表示两个变量是独立的

7、Categorical&Continuous

在探索分类和连续变量之间的关系时,我们可以为每个级别的分类变量绘制box plot,但不显示统计学意义。 为了看统计学意义,我们可以进行Z检验,T检验或方差分析。

T检验与Z检验非常相似,但用于当两个类别的观察次数小于30时,方差分析用于评估两个以上组的平均值是否在统计学上不同。

下篇再接着介绍。

8、参考

1、central measures(https://www.mathsisfun.com/data/central-measures.html) 2、range(https://www.mathsisfun.com/data/range.html) 3、https://www.analyticsvidhya.com/blog/2016/01/guide-data-explo

4、ration/(https://www.analyticsvidhya.com/blog/2016/01/guide-data-exploration/)

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOSDevLog

决策树

964
来自专栏ATYUN订阅号

【学术】一篇关于机器学习中的稀疏矩阵的介绍

AiTechYun 编辑:Yining 在矩阵中,如果数值为0的元素数目远远多于非0元素的数目,并且非0元素分布无规律时,则称该矩阵为稀疏矩阵;与之相反,若非0...

4604
来自专栏大数据挖掘DT机器学习

详细介绍tensorflow 神经网络分类模型构建全过程:以文本分类为例

许多开发者向新手建议:如果你想要入门机器学习,就必须先了解一些关键算法的工作原理,然后再开始动手实践。但我不这么认为。 我觉得实践高于理论,新手首先要做的是了解...

4507
来自专栏数据科学学习手札

(数据科学学习手札23)决策树分类原理详解&Python与R实现

  作为机器学习中可解释性非常好的一种算法,决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的...

3777
来自专栏AI科技评论

开发 | 如何把时间序列问题转化为监督学习问题?通俗易懂的 Python 教程

AI科技评论按:本文作者 Jason Brownlee 为澳大利亚知名机器学习专家,对时间序列预测尤有心得。原文发布于其博客。 Jason Brownlee ...

3415
来自专栏算法channel

全面总结机器学习项目和面试中几乎绕不开的决策树

决策树是一种常见的机器学习算法,它的思想十分朴素,类似于我们平时利用选择做决策的过程。

890
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

基于模糊集理论的一种图像二值化算法的原理、实现效果及代码

  这是篇很古老的论文中的算法,发表与1994年,是清华大学黄良凯(Liang-kai Huang) 所写,因此国外一些论文里和代码里称之为Huang's fu...

22911
来自专栏海天一树

某公司自然语言处理算法笔试题

1 请列出几种文本特征提取算法 答:文档频率、信息增益、互信息、X^2统计、TF-IDF 2 简述几种自然语言处理开源工具包 答:LingPipe、FudanN...

2627
来自专栏AI研习社

如何把时间序列问题转化为监督学习问题?通俗易懂的 Python 教程

AI 研习社按:本文作者 Jason Brownlee 为澳大利亚知名机器学习专家,对时间序列预测尤有心得。原文发布于其博客。AI 研习社编译。 ? Jaso...

2937
来自专栏灯塔大数据

干货|机器学习:Python实现聚类算法之K-Means

1.简介 K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。 K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最...

4856

扫码关注云+社区