概论
目录
一、数据准备和特征工程概论
1、机器学习上限
- 数据和特征决定了机器学习上限,而模型和算法只是逼近这个上限
2、项目流程
3、主要内容
- 感知数据
- 数据清理
- 特征变换
- 特征选择
- 特征抽取
(1)感知数据
- 从文件中获取数据
CSV文件、Excel文件、图像文件 - 从数据库中读取数据
- 从网页上爬取数据
- 通过API获取数据
- 初步了解数据
- 将业务知识与数据结合
(2)数据清理
- 转换数据类型
- 处理重复、缺失、离群数据
(3)特征变换
- 特征数值化 eg:woman和man、other变为0与1、2
- 特征二值化(0、1)
- OneHot编码 eg:美国40个州,如果是其中某个州,该州的位置取值为1,其余位置取值为0
- 特征离散化(作用:尽可能消除离群数据的影响、分类数据的需要)
- 特征规范化
区间变换、标准化、归一化
(4)特征选择
- 封装器法(循序特征选择)
- 过滤器法(eg:用统计学的相关系数,来过滤某些特征)
- 嵌入法
(5)特征抽取
(与特征选择有区别,特征选择是一个特征子集)
- 无监督特征抽取
主成分分析(原来集合映射到现在的集合)
因子分析 - 有监督特征抽取
二、第一章 感知数据
1、文件中的数据
(1)当文件为csv格式
import pandas as pd
csv_file = "/home/aistudio/data/data20465/cities.csv"
df = pd.read_csv(csv_file) #打开csv文件
df.shape #查看文件有多少行多少列
df.info( ) #查看每一个特征有多少个数据,数据的类型,通过这个与shape相比较,判断是否有缺失值
df.dtypes #查看每个特征的数据类型
pd.read_csv(csv_file, index_col=0) #打开csv文件并且将第一列作为列索引
(2)当文件为excel格式
cpi = pd.read_excel("/home/aistudio/data/data20465/cpi.xls")
cpi.columns = cpi.iloc[1] # 取第二行作为列索引
cpi = cpi[2:] # 只要第二行及之后的数据
cpi.drop([11, 12], axis=0, inplace=True)