Advertisement

数据分析-数据清洗特征提取

阅读量:

学习内容

  1. 数据清洗
  2. 特征提取

学习笔记

1、dropna和fillna有哪些参数,分别如何使用呢?
1、使用dropna函数

复制代码
    DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数说明:

  • axis轴:axis=0表示按照行进行操作(axis=0: delete rows with NaN values),axis=1表示按照列进行操作(axis=1: delete columns with NaN values)
  • how:该参数与axis参数配合使用
  • how=‘any’:一旦发现任一缺失值即删除对应的行或列
  • how=‘all’:仅当所有数值都缺失时才会删除该行或列
  • thresh:仅当axis轴上至少存在thresh个非缺失值时才进行删除操作(例如 axis=0, thresh=10表示如果某一行中的有效数值数量少于10则会移除该行)
  • subset:指定检查缺失值的具体列名(default=None)
  • inplace布尔值决定是否对原始数据进行修改(default=False):如果设置为True,则会对原始数据执行修改并返回None;如果设置为False,则会返回一个新的数据副本而不会修改原始数据
复制代码
    DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

labels: 要删除行或列的列表
axis: 0 行 ;1 列
3、使用fillna函数

复制代码
    DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

argument value: 可以为标量类型、字典、Series 或 DataFrame 类型。
dict: 可以指定数据框或字典中每一行或列使用特定值进行填充。
method: 一个包含回填策略的字符串集合 {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None},默认情况下,在列方向上执行填充操作。
ffill / pad: 该方法会通过前一个有效值对缺失值进行向前填充(forward fill)。
backfill / bfill :该方法会通过后一个有效值对缺失值进行向后填充(backward fill)。
limit: 指定需要填充的最大数量,默认为无限制。

2、检索空缺值用np.nan要比用None好,这是为什么?
后补

3、数据处理中分箱操作是什么?
即通过特定条件将不同元素分配至特定容器中。
适用的数据类型有哪些?
数据主要分为连续变量与分类变量两类,在这种情况下我们通常会对连续变量执行分箱操作。
为什么要执行数据分箱操作?
其主要原因在于提高处理过程的稳定性与计算效率的同时能够显著提升模型预测性能。

基础知识

在进行特征分析时,我们可以将这些特征划分为两大类:

  1. 数值型特征包括Survived、Pclass、Age、SibSp、Parch和Fare。其中Survived和Pclass属于离散型数值特征;而Age、SibSp、Parch以及Fare则是连续型数值特征求证
  2. 文本型特征包括Name、Sex、Cabin Embarked以及Ticket。其中Sex Cabin Embarked和Ticket属于类别type文本特征求证
  3. 数值type特征求证通常可以直接用于模型训练但有时为了提升模型稳定性与鲁棒性会将连续变量转为离散变量
  4. 文本type变量则需要通过某种方式转换为数值形式才能参与建模分析

全部评论 (0)

还没有任何评论哟~