-
数据导入
-
初步看变量间的关系(可视化,facetgrid)
- 笼统看:a)corr+heatmap;
b)画与因变量最相关的几个变量的heatmap(如果变量多,上一步骤看不太清晰)
c)pairplot - 仔细看:看因变量与各变量的关系
a)numerical用scatter
b)categorical用boxplot
看各变量之间的关系,是否存在多重共线性,相关性高的列可以删除一个
- 笼统看:a)corr+heatmap;
-
看missing data:删除missing过多的列,删除相关性高的列
-
删除对预测没用的列
-
看outlier:
1)通过StandardScaler标准化后,在+/- 3个方差以外的为outlier
2)画图,与因变量关系特别强的几个变量,关系在趋势之外的可以视为outlier -
从现有列中提取有用信息,可能使用到正则表达式
分类问题
7. 将categorical变成ordinal (map,labelEcoder,get_dummies)
8. 处理缺失值
1) random number 代替
2)同类的均值、中位数代替
# 对于train_df和test_df的同时修改,可以建list,然后写一个循环
combine = [train_df, test_df]
for dataset in combine:
xxxxx
- 数据分组,如给age分组
pd.cut(train_df["Age"],5) # age的数值平均分5组
pd.qcut(train_df["Age",5]) # age的个数平均分5组
- 形成新的列:通过加减乘除(根据变量含义逻辑)
回归问题
7. 检验异方差性、正态性