Weka直方图数值判读方法及Excel同类直方图绘制咨询
Weka属性直方图解读与Excel复现问题
问题背景
本次分析使用的高尔夫天气数据集如下:
outlook temperature humidity windy play ------------------------------------------------------ sunny hot high FALSE no sunny hot high TRUE no overcast hot high FALSE yes rainy mild high FALSE yes rainy cool normal FALSE yes rainy cool normal TRUE no overcast cool normal TRUE yes sunny mild high FALSE no sunny cool normal FALSE yes rainy mild normal FALSE yes sunny mild normal TRUE yes overcast mild high TRUE yes overcast hot normal FALSE yes rainy mild high TRUE no
基于该数据集在Weka中生成的outlook属性直方图参考:
已知图例规则:
- 蓝色代表
play属性取值为yes(适合打球) - 红色代表
play属性取值为no(不适合打球)
已确认的统计逻辑:
该类直方图绘制前需要先统计属性各取值下的样本频次:
- 数据集中
outlook取值为sunny的样本共5个,取值为overcast的样本共4个 - 当
outlook=overcast时,所有样本的play结果均为yes,无no类样本,因此对应柱形为纯蓝色 - 当
outlook=sunny时,play=yes的样本有3个,play=no的样本有2个,因此对应柱形为红蓝混合色
待解答问题
- 仅通过观察柱形,如何判断
outlook=sunny时play=yes和play=no分别对应的实例数量? - 如何在Excel中绘制该类分色堆叠直方图?
解答
1. 柱形数值读取方法
Weka生成的这类按类别分色的堆叠直方图,直接对照纵轴读数即可:
- 每个柱的总高度对应当前属性取值下的总样本数,纵轴刻度直接对应实例计数,比如sunny对应的柱顶对齐纵轴刻度5,就代表该分组总共有5条样本。
- 柱内红蓝两色的分割线对应的纵轴刻度,就是靠下颜色块的样本数,用总样本数减去这个值,就能得到靠上颜色块的样本数。比如sunny分组的柱形里,如果红色块(play=no)在下方,色块顶部对齐纵轴刻度2,就说明play=no的样本有2个,总样本5减去2,剩下3个就是蓝色块对应的play=yes的样本数。
操作提示:在Weka界面把鼠标悬停在对应颜色块上,会直接弹出该色块的精确计数,无需对着刻度手动估算。
2. Excel绘制同类分色堆叠直方图的方法
用Excel自带图表功能即可实现,无需额外插件:
- 第一步:统计交叉频次。基于原始数据整理二维统计表:行维度填
outlook的三个取值(sunny、overcast、rainy),列维度填play的两个取值(yes、no),单元格内填入对应交叉分组下的样本数量,比如sunny行、no列填2,sunny行、yes列填3,overcast行no列填0、yes列填4,补全所有单元格数值。 - 第二步:插入图表。选中整张统计表,在插入选项卡选择堆叠柱形图。
- 第三步:调整格式。将
play=yes对应的数据系列填充为蓝色,play=no对应的数据系列填充为红色,将纵轴最小值设为0、主要刻度单位设为1,补充图例和坐标轴标题,最终效果和Weka生成的直方图完全一致。
内容的提问来源于stack exchange,提问作者Encipher
相关产品推荐
相关产品推荐

