天天看点

Data Analysis with Python

    • Module 2 Data Wrangling
      • 处理缺失值
      • 数据格式化
      • 数据标准化
      • 数据分组
      • 数据转换CategoricalNumeric
    • Module 3 Exploratory Data AnalysisEDA
      • 统计描述
      • Groupby in Python
      • 方差分析ANOVA
      • 相关分析correlation
      • 统计相关性
        • 皮尔森相关分析
    • Module 4 Model Development
      • 线性回归
        • 一元线性回归 Simple Linear RegressionSLR
        • 多元线性回归 Multiple Linear RegressionMLR
      • 模型评估可视化
      • 多项式线性回归和管道操作
        • 多项式线性回归 Polynomial Regression
        • 管道操作 Pipeline
      • Measures for In-Sample Evaluation
      • Prediction and Decision Making
    • Module5 Model Evaluation
      • Over-fitting Under-fitting and Model Slection
      • Rigid Regression
      • Grid Search

Module 2 Data Wrangling

处理缺失值

Data Analysis with Python

使用Python去除缺失值

pandas包中的dataframes.dropna(),当

inplace

参数为

True

时,直接在原数据框内操作

Data Analysis with Python

数据格式化

Data Analysis with Python

数据标准化

Data Analysis with Python

数据分组

Data Analysis with Python

数据转换(Categorical→Numeric)

Data Analysis with Python

Why One-Hot Encode Data in Machine Learning?中提到,将分类型数据转为数值型数据的两种方法:

1. Integer-Encoding,针对有序分类变量

2. One-Hot Encoding,针对无序分类变量

可使用pandas.get_dummies()进行转换。

Data Analysis with Python

Module 3 Exploratory Data Analysis(EDA)

统计描述

  • df.describe()
  • value_counts()
    Data Analysis with Python
  • Box Plots

    seaborn.boxplot

    Data Analysis with Python
  • Scatter Plot

    matplotlib.pyplot.scatter()

    Data Analysis with Python

Groupby in Python

  • df.groupby()
  • pivot table(透视表)

    df.pivot_table(),转化后便于阅读和查看,但不便于进行数据处理

    Data Analysis with Python
  • Heat Map
    Data Analysis with Python

方差分析(ANOVA)

scipy.stats.f_oneway()

Data Analysis with Python

相关分析(correlation)

Correlation doesn’t imply causation!
Data Analysis with Python

统计相关性

皮尔森相关分析

Data Analysis with Python

scipy.stats.pearsonr()

Data Analysis with Python

两者相关性很强。

Module 4 Model Development

线性回归

一元线性回归 Simple Linear Regression(SLR)

举例: y^=b0+b1x y ^ = b 0 + b 1 x

可以使用scikit-learn中的sklearn.linear_model.LinearRegression()进行训练和预测

多元线性回归 Multiple Linear Regression(MLR)

举例: Y^=b0+b1x1+b2x2+b3x3+b4x4 Y ^ = b 0 + b 1 x 1 + b 2 x 2 + b 3 x 3 + b 4 x 4

Data Analysis with Python
Data Analysis with Python

模型评估可视化

  • Regression Plot

    seaborn.regplot()

    Data Analysis with Python
  • Residual Plot
    Data Analysis with Python

    seaborn.residplot()

    借助残差图可以观察数据分布情况,大致判断数据是否呈线性相关

    Data Analysis with Python
  • Distribution Plot

    seaborn.displot()

    Data Analysis with Python

多项式线性回归和管道操作

多项式线性回归 Polynomial Regression

Data Analysis with Python
Data Analysis with Python
Data Analysis with Python
Data Analysis with Python

管道操作 Pipeline

Data Analysis with Python
Data Analysis with Python

Measures for In-Sample Evaluation

  • Mean Squared Errors(MSE)

    MSE=1n∑i=1n(Yi−Y^i)2 M S E = 1 n ∑ i = 1 n ( Y i − Y ^ i ) 2

    sklearn.metrics.mean_squared_error()

    Data Analysis with Python
    Data Analysis with Python
    Data Analysis with Python

Prediction and Decision Making

Data Analysis with Python
Data Analysis with Python

Multiple Linear Regression(MLR)

Simple Linear Regression(SLR)

Mean Squared Errors(MSE)

Module5 Model Evaluation

Data Analysis with Python

最后一条有疑问,不会造成过拟合吗??????????

拆分数据集为训练集和测试集:

Data Analysis with Python

交叉验证示意图:

Data Analysis with Python

3折交叉验证:

Data Analysis with Python

查看预测结果:

Data Analysis with Python

Over-fitting, Under-fitting and Model Slection

Data Analysis with Python

Rigid Regression

sklearn.linear_model.Ridge()

岭回归中文文档,通过参数α调整模型,从而防止过拟合。

Data Analysis with Python

Grid Search

网格搜索通过交叉验证的方法来自动调整超参数hyperparameters

机器学习中的超参数

Parameter和Hyperparameter的区别,原文。简单来说,参数是训练过程中通过数据自动调整的,而超参数一般都是手动选择,用于调整估计模型过程的。

Data Analysis with Python

sklearn.model_selection.GridSearchCV()

Data Analysis with Python

查看各组合的结果:

Data Analysis with Python

视频内容只是简介,关键还是要用lab里的 jupyter notebook 练手。

参考资料:

1. https://cognitiveclass.ai/

2. http://pandas.pydata.org/pandas-docs/stable/index.html

3. http://scikit-learn.org/stable/index.html