快速可视化数据集中缺失值的好工具是专门的库-missuno。我们将在下面演示它。
1安装
py
pip install missingno
2查看缺失值
py
for col in train_events.columns:
percent_nan = train_events[col].isnull().mean() * 100
msg = f"column: {col:>10}\t Percent of NaN value: {percent_nan:.2f}%"
print(f"\n---> {msg}")
```
---> column: series_id Percent of NaN value: 0.00%
---> column: night Percent of NaN value: 0.00%
---> column: event Percent of NaN value: 0.00%
---> column: step Percent of NaN value: 33.93%
---> column: timestamp Percent of NaN value: 33.93%
---> column: year Percent of NaN value: 33.93%
---> column: month Percent of NaN value: 33.93%
---> column: day Percent of NaN value: 33.93%
---> column: hour Percent of NaN value: 33.93%
ini
# 3使用方法
1. bar方法
```py
import missingno as msno
msno.bar(train, color=(0.4,0.4,0.6))
- matrix()
py
msno.matrix(train_events, color=(0.3,0.3,0.5))
根据图表中白线的数量,我们可以推断数据集中的缺失值情况。观察到白线越多,说明数据集中的缺失值越多。图表左侧的纵坐标显示了样本数量的起始和结束值,即数据集包含了14508条数据。右下角的数字3表示数据集中有3列没有缺失值,而右侧的数字9表示数据集总共有9列数据。
- heatmap()
- 缺失变量的相关关系
- 相关热
missingno
图衡量无效相关性:一个变量的存在或不存在对另一个变量的存在的影响程度:
py
msno.heatmap(train_events)
- dendrogram():
py
msno.train_events(train_events)
树状图通过一种分层聚类算法(由Scipy提供)可以更全面地揭示变量之间的关联关系,进一步展示出比相关热图中可见的成对趋势更深入的趋势。
在树状图的构建过程中,变量根据它们之间的无效相关性(以二进制距离衡量)被彼此分类。在每一步的分割中,选择能够最小化剩余簇之间距离的组合方式。当变量集合越单调时,它们的总距离越接近于零,同时它们的平均距离(y轴)也越接近于零。