Data Analysis with Python

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)

统计描述

Groupby in 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
可以使用scikit-learn中的sklearn.linear_model.LinearRegression()进行训练和预测

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

举例:Y^=b0+b1x1+b2x2+b3x3+b4x4
Data Analysis with Python
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

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

网格搜索通过交叉验证的方法来自动调整超参数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