【读书笔记】《特征工程入门与实践》

数据等级

本书认为数据可以分为四大等级,分为是:定类、定序、定距、定比,其中定类和定序都是定性的数据,定距和定比是定量的数据。

定类是离散的、无序的,举例:人名、油漆名称、动物物种:猴子、马、牛等
定序是有序类别、可以比较的,举例:考试等级:Great、Good、Not bad、Bad等或 0 - 6 表示心情的好坏程度
定距是有数据意义的、但是做除法是没有意义的,比如温度
定比是连续的、存在有意义的绝对零点、可以做除法
概括四大等级

在这里插入图片描述

特征增强

特征清洗是指调整已有的列和行,特征增强是指在数据集中删除和添加新的列;
这里会提到:

  • 识别数据的缺失值
  • 删除有害数据
  • 输入(填充)缺失值
  • 对数据进行归一化/标准化
  • 构建新特征
  • 手动或自动选择特征
  • 特征转换(数据矩阵计算转换到不同的维度)

EDA exploratory data analysis
在接触数据的时候,需要做一次EDA,对数据有一个大致的了解,在Python中,常用的包是pandas、numpy、matplotlib、seaborn;导入所需包如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.style.use('fivethirtyeight')

这一步一般会包括基本的五数总括、数据分布等,简单的相关分析和方差分析,缺失值分布、每列数据类型等

缺失值处理

缺失值无外乎两个处理方式:1. 删除 2.填充
删除: dropna(), 删除比较粗暴,当缺失行数占比非常少,少到可以忽略的情况可以考虑;否则一般建议填充缺失值

填充缺失值

平均值: df[col].fillna(df[col].mean(),inplace=True)
或借助scikit-learn的preprocessing

from sklearn.preprocessing import Imputer
imputer = Imputer(strategy='mean')
col_names = df.columns
imputed_array = imputer.fit_tansform(df)
# 因为Imputer的输出不是dataframe而是np.ndarray,需要转换为dataframe
df_imputed = pd.DataFrame(imputed_array, columns=col_names)

扩展阅读 : 引入一下Imputer的方法
sklearn.preprocessing.Imputer(missing_values=‘NaN’, strategy=‘mean’, axis=0, verbose=0, copy=True)

  • missing_values 指缺失值, 默认值NaN, 可以是整数或NaN(np.nan)
  • strategy 替换策略, 值为mean、median、most_frequent, 分别的意思是列的均值、中位数、众数
  • axis 轴数,默认axis=0代表列,axis=1代表行
  • copy 是否复制 默认为True, 当copy是False时,直接将transform的结果替换到原来的dataframe中

归一化和标准化

当每个特征的均值、最小值、最大值和标准差差别很大时,对于某些量纲影响较大的机器学习模型来说,归一化操作能很好去处量纲带来的影响。
常用的归一化方法:❏ Z-Score标准化;❏ min-max标准化;❏ 行归一化。
Z-Score:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值