Fork me on GitHub

特征工程-特征理解

后面会开始特征工程系列的文章,本文是第一篇:特征理解

特征理解的作用:告诉你数据集里都有什么?

  • 结构化数据和非结构化数据
  • 定量数据和定性数据
  • 数据的4个等级
  • 探索性数据分析和数据可视化
  • 描述性统计分析

数据结构有无

结构化数据:能够将数据分成观察值和特征值的数据,一般是表格形式;通常行是观察值,列是特征属性

非结构化数据:作为自由流动的实体,不遵循标准组织结构的数据,比如服务器的日志数据等;一般文本形式的数据都是非结构化的

大部分非结构化的数据能够通过一定的方法转成结构化的数据

定量数据和定性数据

  1. 定量数据:本质上是数值,可以衡量某种东西的某个数量,比如苹果的价格是6元,苹果—>6元

  2. 定性数据:本质上是类别,可以描述某种东西的某个属性,比如苹果是甜的,甜就是一种属性

处理两种数据:

定量数据:一般使用整数或者浮点数(最好使用浮点数);

定性数据:一般使用字符串或者Unicode对象

数据的4个等级

  1. 定类等级:nominal level

  2. 定序等级:ordinal level

  3. 定距等级:interval level

  4. 定比等级:ratio level

定类等级:nominal level

  • 该等级是第一个等级,结构最弱,属于定性数据;这个等级中的数据只按照名称来分类,比如血型的A、B、O、AB等,访客名单等

  • 在这个等级上的数据不能执行任何定量数学操作,只能进行统计计数:df[“name”].value_counts()

  • 将统计的结果用柱状图或者饼图利用可视化方式展现。

定序等级:ordinal level

能够进行自然排序。能够执行的操作:

  • 统计计数
  • 比较和排序
  • 计算中位数和百分位数(茎叶图和箱线图)

比如评价信息的字段取值为

  • 0:不接受
  • 1:勉强
  • 2:不错
  • 3:特别好

在数据中我们会使用0-1-2-3,但是这个数值实际上代表的是某个类别,所以仍然是定性的,也是定序的

定距等级:interval level

定类数据和定序数据都是在处理定性数据,即便内容是一个数,也不代表真实的数量,而是某个类别。

定距等级开始处理定量数据。在定距等级,数值数据不仅可以排序,而且值之间的差异也是具有一定的含义。可执行的操作:排序、加减

一个非常经典的例子:温度。昨天温度是20°C,今天是25°C,相差5°C。这样的减法操作在定类和定序等级中是不能执行的

定比等级:ratio level

定比等级也是处理定量数据的。可以执行加减运算,还有一个绝对零点的概念,可以做乘除运算。

比如处理金融数据,货币处于定比等级。例如:$100 是 $50 的两倍,存在0这个概念,这样的比较是有意义的

我们一般认为,温度属于定距等级,而不是定比等级,因为100℃比50℃高两倍这种说法没有意义,并不合理。温度是主观的,不是客观正确的。

基本流程

当你拿到一份数据,可以参考下面的基本流程:

  1. 数据有没有组织?

  2. 每个列的数据是定量的还是定性的?如果单元格中存在数值,是字符串含义还是真实数值?

  3. 每个列处于哪个等级?

  4. 有什么合适的图表来表示数据的统计或者分布情况?

对比

操作可行性

总结每个等级上可行与不可行的操作:

统计类型

每个等级的不同统计类型:

绘制图形

每个等级上可绘制的图形:

本文标题:特征工程-特征理解

发布时间:2022年05月28日 - 11:05

原始链接:http://www.renpeter.cn/2022/05/28/%E7%89%B9%E5%BE%81%E5%B7%A5%E7%A8%8B-%E7%89%B9%E5%BE%81%E7%90%86%E8%A7%A3.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea