02 单个变量的预分析
摘要
上一篇文章01 AppStore付费App的数据可视化分析.
已经对付费App进行了探索性数据分析, 初步了解了数据的类型与分布.
本文会基于之前对数据的分析结果, 继续对单个变量进行预分析,
为后面的多个变量预分析做好准备, 也为建模这步奠定好的基础.
之后还会陆续更新建模阶段: (多变量) 预分析 --> 建模 --> 修正
还有应用作为更下一阶段,包含但不限于: 评估–> 应用 --> 结果可视化
1 预分析: (单个变量处理)
1.1 缺失值
在描述统计中, 可以看到本例数据没有缺失值,不用处理
1.2 异常值
df.iloc[:,1:].hist(figsize=(15,15));
1.2.1 处理超过上下边缘的异常值(连续变量)
思路: 以上下边缘为边界,超过上/下边缘的值用边缘值来代替
# 查看各个变量的上下边缘(下边缘最小为0,有小于0的就直接用0代替)
# 1.价格
a1 = df['price'].quantile(0.75)
b1 = df['price'].quantile(0.25)
print('price的上下边缘:(',0,',',a1+1.5*(a1-b1),')') # 下边缘小于0
# 2.app大小
a2 = df['size_bytes_in_MB'].quantile(0.75)
b2 = df['size_bytes_in_MB'].quantile(0.25)
print('app大小的上下边缘:(',0,',',a2+1.5*(a2-b2),')') # 下边缘小于0
# 3.评论总人数
a3 = df['rating_count_tot'].quantile(0.75)
b3 = df['rating_count_tot'].quantile(0.25)
print('评论总人数的上下边缘:(',0,',',a3+1.5*(a3-b3),')') # 下边缘小于0
Out:
price的上下边缘:( 0 , 9.49 )
app大小的上下边缘:( 0 , 508.2725 )
评论总人数的上下边缘:( 0 , 3847.25 )
# 强异常值的处理:{变量的下边缘,名字,上边缘}
var = [</