特征工程入门与实践—2 特征理解

第2章  特征理解:我们的数据集里有什么?

主要内容:

  结构化数据和非结构化数据

  定量数据与定性数据

  数据的4个等级

  探索性数据分析和数据可视化

  描述性统计

 

2.1 数据结构的有无

结构化数据:可以分成观察值和特征数据,一般以表格的形式组织(行是观察值。列是特征)。

非结构化数据:作为自由流动的实体,不遵循标准组织结构的数据。通常,非结构数据在我们看来就是一团数据,或者就是一个特征。

#导入数据转换包pandas
import pandas as pd

#从服务器日志中创建pandas DataFrame
logs = pd.read_table("../data/server_logs.txt",header = None,names = ['info'])
#header = None 代表数据的第一行是第一个数据点,而不是列名
#names = ['info'] 表示我再DataFrame中手动设置了列名,方便使用。

logs.head()  
#可以用.head()方法看一下前5行

 

2.2 定量数据和定性数据

定量数据本质上是数值,应你是衡量某样东西的数量。

定性数据本质上是类别,应该是描述某样东西的性质。

#导入探索性数据分析所需要的包
#存储表格数据
import pands as pd 
#数学计算包
import numpy as np
#流行的数据可视化包
import matplotlib.pyplot as plt
#另一个流行的数据可视化包
import seaborn as sns
#允许行内渲染图形
%matplotlib inline
#流行的数据可视化主题
plt.style.use('fivethirtyeight')

#导入收据集
salary_ranges = pd.read_csv ("../data/salary.csv')

#查看前几行
salary_ranges.head()

#用.info()方法了解数据有多少行
#查看数据有多少行,是否有缺失值,以及每一列数的类型
salary_ranges.info()

#缺失值数量的另一种统计方法
salary_ranges.isnull().sum()

#用describe方法查看一些定量数据描述性统计。注意,describe方法默认描述定量列,但是如果没有定量列,也会描述定性列
salary_ranges.describe()

当处理定量数据的时候,一般使用整数或者浮点数作为类型;定性数据一般使用字符串或Unicode对象

 

 

2.3 数据的4个等级

  定类等级

  定序等级

  定距等级

  定比等级

2.3.1 定类等级

定类等级是数据的第一个等级,其结构是最弱的。这个等级的数据就是按名称进行分类的。

# 对工作的种类进行计数   用.value_counts()方法
salary_ranges['Grade'].value_counts().head()

2.3.2 定序等级

定序等级继承了定类等级的所有属性,而且有重要的附加属性:

  定序等级的数据可以自然排序;

  这就意味着,可以认为列中的某些数据比其他数据更好或更大。

2.3.3 定距等级

在定类和定序等级,一直处理的是定性数据,即使其内容是数,也不能代表真实的数量。在定距等级中,数值数据不仅可以像定序数据一样排序,而且值之间的差异也有意义。这就意味着,在定距等级,我们不仅可以对值进行排序和比较,还可以进行加减(所以可以引入算数平均数和标准差)。

2.3.4定比等级

在这个等级上,拥有最高程度的控制和数学运算能力。在定距等级的基础上,增加了绝对零点的概念,可以做乘除运算。

 

posted @ 2020-04-09 14:41  hehe哒  阅读(304)  评论(0编辑  收藏  举报