-
- 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
Module 2 Data Wrangling
处理缺失值
使用Python去除缺失值
pandas包中的dataframes.dropna(),当
inplace
参数为
True
时,直接在原数据框内操作
数据格式化
数据标准化
数据分组
数据转换(Categorical→Numeric)
Why One-Hot Encode Data in Machine Learning?中提到,将分类型数据转为数值型数据的两种方法:
1. Integer-Encoding,针对有序分类变量
2. One-Hot Encoding,针对无序分类变量
可使用pandas.get_dummies()进行转换。
Module 3 Exploratory Data Analysis(EDA)
统计描述
- df.describe()
- value_counts()
-
Box Plots
seaborn.boxplot
-
Scatter Plot
matplotlib.pyplot.scatter()
Groupby in Python
- df.groupby()
-
pivot table(透视表)
df.pivot_table(),转化后便于阅读和查看,但不便于进行数据处理
- Heat Map
方差分析(ANOVA)
scipy.stats.f_oneway()
相关分析(correlation)
Correlation doesn’t imply causation!
统计相关性
皮尔森相关分析
scipy.stats.pearsonr()
两者相关性很强。
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
模型评估可视化
-
Regression Plot
seaborn.regplot()
- Residual Plot
seaborn.residplot()
借助残差图可以观察数据分布情况,大致判断数据是否呈线性相关
-
Distribution Plot
seaborn.displot()
多项式线性回归和管道操作
多项式线性回归 Polynomial Regression
管道操作 Pipeline
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()
Prediction and Decision Making
Multiple Linear Regression(MLR)
Simple Linear Regression(SLR)
Mean Squared Errors(MSE)
Module5 Model Evaluation
最后一条有疑问,不会造成过拟合吗??????????
拆分数据集为训练集和测试集:
交叉验证示意图:
3折交叉验证:
查看预测结果:
Over-fitting, Under-fitting and Model Slection
Rigid Regression
sklearn.linear_model.Ridge()
岭回归中文文档,通过参数α调整模型,从而防止过拟合。
Grid Search
网格搜索通过交叉验证的方法来自动调整超参数hyperparameters
机器学习中的超参数
Parameter和Hyperparameter的区别,原文。简单来说,参数是训练过程中通过数据自动调整的,而超参数一般都是手动选择,用于调整估计模型过程的。
sklearn.model_selection.GridSearchCV()
查看各组合的结果:
视频内容只是简介,关键还是要用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