如何在 Weka 中更好地理解您的机器学习数据

在开始一个新的机器学习问题时,花时间了解您的数据非常重要。

您可以查看关键信息以快速了解您的数据集,例如描述性统计数据和数据可视化。

在这篇文章中,您将了解如何在Weka机器学习工作台中通过查看描述性统计数据和数据可视化来了解更多关于您的数据。

阅读本文后,您将了解:

  • 通过查看统计摘要了解属性分布。
  • 通过查看单变量图了解属性分布。
  • 通过查看多变量图了解属性之间的关系。

通过我的新书《Weka机器学习精通启动您的项目,其中包括所有示例的分步教程和清晰的截图

让我们开始吧

通过描述性统计数据更好地理解您的数据

Weka浏览器将自动计算数值属性的描述性统计数据。

  1. 打开Weka GUI选择器。
  2. 点击“浏览器”打开Weka浏览器。
  3. data/diabetes.arff加载Pima Indians数据集。

Pima Indians数据集包含数值输入变量,我们可以用它来演示描述性统计数据的计算。

首先,请注意“当前关系”部分中的数据集摘要。此面板总结了有关加载数据集的以下详细信息:

  • 数据集名称(关系)。
  • 行数(实例数)。
  • 列数(属性数)。
Weka Summary of Dataset

Weka数据集摘要

点击“属性”面板中数据集的第一个属性。

Weka List of Attributes

Weka属性列表

请注意“选定属性”面板中的详细信息。它列出了有关选定属性的许多信息,例如:

  • 属性名称。
  • 缺失值的数量以及整个数据集中缺失值的比率。
  • 不同值的数量。
  • 数据类型。
Weka Summary of Attribute

Weka属性摘要

下表列出了一些描述性统计数据及其值。为数值属性提供了有用的四项摘要,包括:

  • 最小值。
  • 最大值。
  • 平均值。
  • 标准差。

您可以从这些信息中获得很多启发。例如:

  • 缺失数据的存在和比率可以为您提供是否需要删除或填充值的指示。
  • 均值和标准差可以量化地反映每个属性的数据分布情况。
  • 不同值的数量可以为您提供属性分布的粒度概念。

点击类别属性。此属性为名义类型。查看“选定属性面板”。

Weka Summary of Class Attribute

Weka类别属性摘要

现在我们可以看到,对于名义属性,我们得到一个包含每个类别以及属于每个类别的实例数量的列表。还提到了权重,目前我们可以忽略它。如果我们要为数据集中的特定属性值或实例分配更多或更少的权重,则会使用此功能。

在Weka机器学习方面需要更多帮助吗?

参加我为期14天的免费电子邮件课程,逐步探索如何使用该平台。

点击注册,同时获得该课程的免费PDF电子书版本。

单变量属性分布

每个属性的分布都可以绘制成图,以提供对分布的视觉定性理解。

当您在“预处理”选项卡中选择一个属性时,Weka会自动提供这些图。

我们可以接着上一节继续,我们已经加载了Pima Indians数据集。

点击“属性面板”中的“preg”属性,注意“选定属性”面板下方的图表。您将在x轴上看到从0到17的preg值分布。y轴显示每个preg值的计数或频率。

Weka Univariate Attribute Distribution

Weka单变量属性分布

请注意,红色和蓝色分别代表正类和负类。颜色会自动分配给每个分类值。如果类值有三个类别,我们将看到由三种颜色而不是两种颜色分解的preg分布。

这对于快速了解给定属性的问题是否容易分离很有用,例如,所有红色和蓝色对于单个属性都清晰分离。点击“属性”列表中的每个属性并查看图表,我们可以看到类之间没有如此容易的分离。

通过点击单变量图上方的“全部可视化”按钮,我们可以快速概览数据集中所有属性的分布以及按类别划分的分布。

Weka All Univariate Attribute Distributions

Weka所有单变量属性分布

查看这些图表,我们可以发现关于此数据集的一些有趣之处。

  • plas、pres和mass属性看起来呈近似高斯分布。
  • pres、skin、insu和mass的值在0处看起来格格不入。

查看此类图表并记录下浮现的想法,可以为您提供进一步数据准备操作(例如将0值标记为损坏)的思路,甚至可能是有用的技术(例如假设输入变量呈高斯分布的线性判别分析和逻辑回归)。

可视化属性交互

到目前为止,我们只关注了单个特征的属性,接下来我们将查看属性组合中的模式。

当属性为数值型时,我们可以绘制一个属性与另一个属性的散点图。这很有用,因为它可以突出属性之间关系中的任何模式,例如正或负相关性

我们可以为所有成对的输入属性创建散点图。这称为散点图矩阵,在对数据进行建模之前对其进行审查可以为进一步的数据预处理技术提供更多线索。

Weka在“可视化”选项卡中默认提供散点图矩阵以供审查。

Weka Visualize Tab

Weka可视化选项卡

接着上一节继续,在加载了Pima Indians数据集的情况下,点击“可视化”选项卡,并调整窗口大小以便查看所有单个散点图。

Weka Scatterplot Matrix

Weka散点图矩阵

您可以看到所有属性组合都以系统的方式绘制。您还可以看到每个图出现两次,首先在左上角的三角形中,然后再次在右下角的三角形中,轴翻转。您还可以看到一系列图,从左下角开始并一直延伸到右上角,其中每个属性都与自身绘制。这些可以忽略。

最后,请注意散点图中的点按其类值着色。寻找点中的趋势或模式,例如颜色的清晰分离,是很有益的。

点击一个图表将打开一个新窗口,您可以在其中进一步操作该图表。

Weka Individual Scatterplot

Weka单个散点图

请注意屏幕底部的控件。它们允许您增加图表大小、增加点的大小以及添加抖动。

关于抖动的最后一点很有用,当有很多点相互重叠并且很难看清发生的情况时。抖动会为图表中的数据添加一些随机噪声,稍微分散点,帮助您看清情况。

当您更改这些控件时,点击“更新”按钮以应用更改。

Weka Controls for Scatterplot Matrix

Weka散点图矩阵控件

例如,下面是相同的图,但点尺寸更大,使得更容易看到数据中的任何趋势。

Weka Improved Scatterplot Matrix

Weka改进的散点图矩阵

总结

在这篇文章中,您发现了如何通过查看描述性统计数据和数据可视化来更好地了解您的机器学习数据。

具体来说,你学到了:

  • Weka会自动计算每个属性的描述性统计数据。
  • Weka允许您轻松查看每个属性的分布。
  • Weka提供散点图可视化来查看属性之间的成对关系。

您对Weka中的描述性统计数据和数据可视化或本文有任何疑问吗?请在下面的评论中提出您的问题,我将尽力回答。

探索无需代码的机器学习!

Master Machine Learning With Weka

在几分钟内开发您自己的模型

...只需几次点击

在我的新电子书中探索如何实现
使用 Weka 精通机器学习

涵盖自学教程端到端项目,例如
加载数据可视化构建模型调优等等...

最终将机器学习应用到你自己的项目中

跳过学术理论。只看结果。

查看内容

对《如何在Weka中更好地理解您的机器学习数据》的28条回复

  1. mirriam ndunge 2016年7月2日上午12:06 #

    太棒了,我喜欢。

  2. Manal Alghamdi 2016年10月8日上午8:38 #

    我是Weka的初学者,我真的看不懂图表上的任何东西。我看到点无处不在,但我不知道它们好在哪里,坏在哪里?以及通过理解这些图表中的信息,我能达到什么样的预处理?请问有什么帮助吗?非常感谢这个博客。简直太棒了!!!

    • souhaila 2021年3月19日上午5:04 #

      我也是 :")

  3. Sai 2016年12月22日下午5:33 #

    你好

    类变量可以是数值吗?在这种情况下,如何建立属性和类之间的关系?

    当我尝试这样做时,我无法在Weka中建立具有数值的类和具有名义值的属性之间的关系,而我可以为所有其他2种组合做到这一点。

    你能解决这个问题吗?

    提前感谢

  4. Bill 2016年12月25日上午4:49 #

    我们如何获得名义数据的标准差?

    • Jason Brownlee 2016年12月26日上午7:40 #

      抱歉,Bill,没有这样的概念。

      您可以查看每个标签的频率。

  5. Ibrahim Abdul 2017年8月6日下午2:00 #

    非常感谢您的分析,但是我很想了解更多关于图表上集中点的解释。希望能收到您的回复。

    • Jason Brownlee 2017年8月7日上午8:38 #

      你具体指的是什么?

      • Ibrahim Abdul 2017年8月9日下午12:22 #

        感谢您的关注,我的意思是,我发现很难解释从分类输出中获得的曲线。例如,阈值曲线(x轴上的假阳性率和y轴上的真阳性率)。
        边际曲线,真假值的成本/收益分析。真假值的成本曲线。
        非常感谢,希望能收到您的回复。

        • Jason Brownlee 2017年8月10日上午6:45 #

          明白了,也许可以看看这本书

          《数据挖掘:实用机器学习工具与技术》(Data Mining: Practical Machine Learning Tools and Techniques)
          http://amzn.to/2hLzJHJ

  6. Alex 2017年9月8日上午7:39 #

    你好,Jason!
    我有一个网店,希望了解人们是如何分组到不同的群集中的,这些群组的特征是什么,以及这些群组之间有何不同。我如何使用Weka做到这一点?

  7. Ankit 2018年2月14日下午8:24 #

    Weka中x轴是如何绘制的。使用了什么逻辑?

    • Jason Brownlee 2018年2月15日上午8:40 #

      抱歉,我不明白您的问题,也许您可以重新措辞?

  8. noura 2018年4月28日上午12:27 #

    我怎么知道属性之间的关系是正向的还是负向的?

  9. susu2020 2019年10月8日下午8:46 #

    万分感谢
    我想问一下是否能在Weka中找到Q1和Q3值?如何操作?

  10. Pankhuri Jain 2020年5月24日上午12:05 #

    你好,先生
    我想将我提出的方法与其他4到5种最先进的算法进行比较。我有一个这些方法的分类准确度表格。我想应用t检验来找出我提出的方法的相应胜/平/负。我该怎么做?

    • Jason Brownlee 2020年5月24日上午6:11 #

      如果您已经有了数字表格,也许可以直接在Excel中输入并使用Excel中的测试?

      否则,您可以在Weka的Experimenter界面中设计实验,并让它为您执行测试。

      • Pankhuri Jain 2020年5月24日下午6:40 #

        先生,我有一个这样的表格:

        数据集 方法1 方法2 方法3 方法4
        D1 43 45 48 55
        D2 35 48 54 83
        D3 86 64 73 82
        D4 91 87 76 89
        D5 67 71 69 70

        我想将方法1与其余3种方法(方法2、方法3和方法4)进行比较,并找出对于每个数据集,方法1获胜/平局/失败的次数(v/*/ ),像这样:

        数据集 方法1 方法2 方法3 方法4
        D1 43 45* 48* 55v (0/2/1)
        D2 35 48v 54v 83v (0/0/3)
        D3 86 64 73 82* (2/1/0)
        D4 91 87 76v 89* (1/1/1)
        D5 67 71 69* 70* (0/2/1)

        我该如何进行这种t检验并分配(v/*/ )符号?

  11. niloofar 2020年6月25日上午2:59 #

    你好,先生
    在一次练习中,说我们应该这样做——>
    从训练数据中删除样本间折叠差异小于2的数据
    这意味着我必须在过滤器中使用remove folds,并将折叠数设置为2,然后应用它吗?

    • Jason Brownlee 2020年6月25日上午6:27 #

      也许可以问问练习的作者他们是什么意思?

  12. Sam 2020年11月3日下午4:08 #

    嗨,Jason,
    正如你所说,Weka有助于查看每个属性的分布。我期待分析分类变量的类别分布,例如其类别、出现次数和频率(%)。

    有什么方法可以获得分类变量的类别分布吗?

    谢谢你。

    • Jason Brownlee 2020年11月4日上午6:34 #

      是的,当您查看变量时,它写在图表下方。

发表回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。