目录

  • 1 Chapter01. Introduction
    • 1.1 课程PPT
    • 1.2 补充材料(数学基础)
    • 1.3 本节作业
  • 2 Chapter02. Bayesian Decision Theory
    • 2.1 课程PPT
    • 2.2 视频素材
    • 2.3 章节测试
  • 3 Chapter03. Maximum Likelihood and Bayesian Estimation
    • 3.1 课程PPT
    • 3.2 视频素材
    • 3.3 补充材料(EM)
  • 4 Chapter04. Nonparametric Techniques
    • 4.1 课程PPT
    • 4.2 补充材料(距离)
  • 5 Chapter05. Linear Discriminant Functions
    • 5.1 课程PPT
    • 5.2 视频素材
    • 5.3 补充材料(梯度)
    • 5.4 数学证明
  • 6 Chapter06. Neural Networks
    • 6.1 课程PPT
    • 6.2 视频素材
    • 6.3 补充材料(BP)
  • 7 Chapter07. Dimension Reduction
    • 7.1 课程PPT
    • 7.2 补充材料(奇异值)
  • 8 Chapter08. Non-metric Methods
    • 8.1 课程PPT
  • 9 Chapter09. Unsupervised Learning and Clustering
    • 9.1 课程PPT
    • 9.2 实验
  • 10 Chapter10. Algorithm-independent Machine Learning
    • 10.1 课程PPT
    • 10.2 补充材料(偏差方差两难)
    • 10.3 实验
  • 11 课程实验
    • 11.1 实验环境设置
    • 11.2 python数据常用导入方法
    • 11.3 数据探索
    • 11.4 数据预处理
    • 11.5 朴素贝叶斯分类
    • 11.6 KNN分类
    • 11.7 线性回归
    • 11.8 逻辑回归
    • 11.9 SVM实现多分类
    • 11.10 决策树分类
    • 11.11 PCA实现
    • 11.12 K-means聚类实现
数据探索

数据探索就是通过检验数据集的数据质量、绘制图表、计算某些特征量等手段,对样本数据的结构和规律进行分析的过程。数据探索有助于选择合适的数据预处理和建模方法。数据探索包括数据质量分析和数据特征分析。python中用于数据探索的库主要是pandas(数据分析)和Matplotlib(数据可视化)。pandas提供了大量与数据探索相关的函数,可大致分为统计特征函数与统计绘图函数,而绘图函数依赖于Matplotlib,所以会跟Matplotlib结合使用。

0 python主要数据探索函数

0.1 基本统计特征函数

1) sum:计算数据样本的总和(按列计算)

2) mean:计算数据样本的算术平均数

3) var:方差 

4) std:标准差

5) corr:计算数据样本的Spearman(Pearson)相关系数矩阵。

6) cov:协方差矩阵

7) skew/kurt:偏度(三阶矩)/峰度(四阶矩)

8) describe:直接给出样本数据的一些基本统计量

0.2 基本统计特征函数

1)plot:线性二维图,折线图

2)pie:饼图

3)hist:二维条形直方图

4)boxplot:箱型图

5)plot(logx=True)/plot(logy=True):绘制x或y轴的对数图形

6)plot(yerr = error):绘制误差条形图

0.3 基本数据统计(Pandas DataFrames为例)

df.head()  # 返回DataFrames前几行(默认5行)

df.tail()    # 返回DataFrames最后几行(默认5行)

df.index   # 返回DataFrames索引

df.columns # 返回DataFrames列名

df.info()     # 返回DataFrames基本信息

1 数据质量分析

数据质量分析的主要任务是检查原始数据中是否存在脏数据。脏数据一般指不符合要求以及不能直接进行分析的数据,常见有:缺失值、异常值、不一致值、重复数据、含有特殊符号的数据。

1.1. 缺失值分析

缺失值是指数据集中某些字段没有值,通常用NaN(Not a Number)表示。

使用简单的统计分析,可以得到含有缺失值的属性的个数,以及每个属性的未缺失数、缺失数与缺失率。从总体上来说,缺失值的处理分为删除存在缺失值的记录、对可能值进行插补和不处理3种情况。

isnull()  # 检查缺失值

fillna()   # 填充缺失值(例如,用均值填充)

1.2. 异常值(离群点)分析

异常值指样本中的个别值,其数值明显偏离其他的观测值。

  • 简单统计量分析(描述性统计,进而查看哪些数据不合理,例如最大值和最小值)

  • 3σ原则(3倍标准差)

  • 箱型图分析(小于上四分位数-1.5四分位数间距或大于上四分位数+1.5四分位数间距)

1.3. 重复数据

重复数据是指数据集中完全相同的行

duplicated() #检测重复数据

drop_duplicates()  #删除重复数据

2 数据特征分析

通过绘制图表、计算某些特征量进行数据的特征分析。

2.1.分布分析

分布分析能揭示数据的分布特征和分布类型。

1)定量数据:求极差->决定组距与组数->决定分点->列出频率分布表->绘制频率分布直方图。

2)定性数据的分布分析:根据变量的分类类型来分组,采用饼图和条形图来描述

2.2.对比分析

对比分析是指把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。

2.3. 统计量分析

1)集中趋势度量:均值、中位数、众数

2)离中趋势:极差、标准差(方差)、变异系数、四分位间距

2.4. 周期性分析

周期性分析是探索某个变量是否随着时间变化而呈现出某种周期变化趋势。

2.5.相关性分析

分析连续变量之间线性相关程度的强弱。