目录

  • 1 数据挖掘概述
    • 1.1 概述与工具
  • 2 Python基础
    • 2.1 python基础知识及操作符
    • 2.2 输入输出
    • 2.3 流程控制
      • 2.3.1 选择结构
      • 2.3.2 循环结构
    • 2.4 数据类型
      • 2.4.1 数字型,列表
      • 2.4.2 字符串
      • 2.4.3 元组,集合
      • 2.4.4 字典
      • 2.4.5 词频统计
    • 2.5 作业
  • 3 Numpy数值计算基础
    • 3.1 掌握numpy数组对象
    • 3.2 矩阵对象和ufunc函数
    • 3.3 利用numpy进行统计分析
  • 4 Matplotlib数据可视化基础
    • 4.1 掌握绘图基础语法
    • 4.2 分析特征间的关系
    • 4.3 分析特征内部数据分布
  • 5 pandas统计分析基础
    • 5.1 读写不同数据源的数据
    • 5.2 掌握DataFrame的常用操作
    • 5.3 转换与处理时间序列数据
    • 5.4 使用分组聚合进行组内计算
    • 5.5 创建透视表与交叉表
  • 6 使用pandas进行数据预处理
    • 6.1 合并数据
    • 6.2 数据清洗
    • 6.3 标准化数据,转换数据
  • 7 使用sklearn构建模型
    • 7.1 使用sklearn转换器处理数据
    • 7.2 构建并评价聚类模型
    • 7.3 构建并评价分类模型
    • 7.4 构建并评价回归模型
    • 7.5 作业
  • 8 航空公司客户价值分析
    • 8.1 客户数据预处理
    • 8.2 构建模型,结果分析
  • 9 竞赛相关
    • 9.1 题目
    • 9.2 神经网络
    • 9.3 基于文本内容的垃圾短信识别
数据清洗

一、检测与处理重复值

1.去记录重复值---记录重复,即一个或者多个特征某几个记录的值完全相同

pandas.DataFrame(Series).drop_duplicates(self, subset=None, keep='first', inplace=False)

2.去特征重复值---特征重复,即一个或者多个特征名称不同,但数据几乎完全相同

(1)数值型特征:

利用特征间的相似度将两个相似度为1的特征去除一个。在pandas中相似度的计算方法为corr(相关性矩阵),使用该方法计算相似度时,默认为“pearson”法 ,可以通过“method”参数调节,目前还支持“spearman”法和“kendall”法。

(2)非数值型特征:

DataFrame.equals(other) 的方法进行特征去重。


二、处理缺失值

针对数值和非数值型数据都可以利用isnull或notnull找到缺失值,describe方法只能对这两类型数据分开处理。

1. 删除法

pandas中提供了简便的删除缺失值的方法dropna,该方法既可以删除观测记录,亦可以删除特征。

pandas.DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)

2. 替换法

替换法是指用一个特定的值替换缺失值。

缺失值所在特征为数值型时,通常利用其均值、中位数和众数等描述其集中趋势的统计量来代替缺失值。缺失值所在特征为类别型时,则选择使用众数来替换缺失值。

pandas.DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None)

接收特定string。backfill或bfill表示使用下一个非缺失值填补缺失值。pad或ffill表示使用上一个非缺失值填补缺失值。默认为None。

3. 插值法

三、检测与处理异常值

1.3σ原则

又称为拉依达法则。该法则就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得到标准差,然后按一定的概率确定一个区间,认为误差超过这个区间的就属于异常值。数据的数值分布几乎全部集中在区间(μ-3σ,μ+3σ)内,超出这个范围的数据仅占不到0.3%。故根据小概率原理,可以认为超出3σ的部分数据为异常数据。

2.箱线图分析

箱型图提供了识别异常值的一个标准,即异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值。

QL称为下四分位数,表示全部观察值中有四分之一的数据取值比它小。

QU称为上四分位数,表示全部观察值中有四分之一的数据取值比它大。

IQR称为四分位数间距,是上四分位数QU与下四分位数QL之差,其间包含了全部观察值的一半。