Machine Learning Mastery Weka 教程(一)

原文:Machine Learning Mastery

协议:CC BY-NC-SA 4.0

Weka 机器学习迷你课程

原文:https://machinelearningmastery.com/applied-machine-learning-weka-mini-course/

最后更新于 2021 年 2 月 2 日

14 天成为机器学习实践者

机器学习是一项引人入胜的研究,但是你实际上是如何在自己的问题上使用它的呢?

你可能会对如何最好地为机器学习准备数据、使用哪些算法或者如何选择一个模型而不是另一个模型感到困惑。

在这篇文章中,你将发现一个由 14 部分组成的速成课程,使用 Weka 平台进行应用机器学习,没有一个数学方程或一行编程代码。

完成本迷你课程后:

  • 您将知道如何端到端地处理数据集,并交付一组预测或高表现模型。
  • 您将了解 Weka 机器学习工作台,包括如何探索算法和设计受控实验。
  • 您将知道如何创建问题的多个视图,评估多种算法,并使用统计数据为您自己的预测建模问题选择最佳表现模型。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

(提示 : Y 您可能想要打印或标记此页面,以便稍后可以参考它)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 迷你课程应用机器学习
图片由利昂·亚科夫提供,保留部分权利。

这个迷你课程是给谁的?

在我们开始之前,让我们确保你在正确的地方。下面的列表提供了一些关于本课程是为谁设计的一般指南。

不要惊慌,如果你没有完全匹配这些点,你可能只需要在一个或另一个领域刷起来就能跟上。

你是一个懂一点机器学习的开发者。

这意味着你知道一些机器学习的基础知识,比如交叉验证,一些算法和偏差方差的权衡。这并不意味着你是一个机器学习博士,只是你知道地标或知道在哪里可以找到它们。

这门迷你课程不是机器学习的教科书。

它将把你从一个知道一点机器学习的开发人员带到一个可以使用 Weka 平台从头到尾处理数据集并交付一组预测或高表现模型的开发人员。

迷你课程概述(期待什么)

这门迷你课程分为 14 个部分。

每节课都设计为用 30 分钟左右。你可能会更快地完成一些任务,而对于其他任务,你可能会选择做得更深入,花更多的时间。

你可以随心所欲地快速或缓慢地完成每一部分。一个舒适的时间表可能是在两周内每天完成一节课。强烈推荐。

在接下来的 14 课中,您将涉及以下主题:

  • 第 01 课:下载并安装 Weka。
  • 第 02 课:加载标准机器学习数据集。
  • 第 03 课:描述性统计和可视化。
  • 第 04 课:重新缩放数据。
  • 第 05 课:对数据进行特征选择。
  • 第 06 课:Weka 中的机器学习算法。
  • 第 07 课:评估模型表现。
  • 第 08 课:数据的基线表现。
  • 第 09 课:分类算法。
  • 第十课:回归算法。
  • 第 11 课:集成算法。
  • 第 12 课:比较算法的表现。
  • 第 13 课:调整算法参数。
  • 第十四课:保存你的模型。

这会很有趣的。

但是你必须做一些工作,一点阅读,一点在 Weka 的修补。你想开始应用机器学习,对吗?

(提示 : 这些课的答案都可以在这个博客上找到,使用搜索功能)

如有任何问题,请在下面的评论中发表。

在评论中分享你的结果。

坚持住,不要放弃!

第 01 课:下载并安装 Weka

首先要做的是在你的工作站上安装 Weka 软件。

Weka 是免费的开源软件。它是用 Java 编写的,可以在任何支持 Java 的平台上运行,包括:

  • 窗户。
  • Mac OS X。
  • Linux。

您可以将 Weka 作为独立软件或与 Java 捆绑的版本下载。

如果您的系统上还没有安装 Java,我建议下载并安装一个与 Java 捆绑的版本。

  1. 本课您的任务是访问 Weka 下载页面,在您的工作站上下载并安装 Weka。

第 2 课:加载标准机器学习数据集

现在您已经安装了 Weka,您需要加载数据。

Weka 旨在以称为 ARFF 的本地格式加载数据。这是一种经过修改的 CSV 格式,其中包含有关每个属性(列)类型的附加信息。

您的 Weka 安装包括一个子目录,其中包含许多 ARFF 格式的标准机器学习数据集,您可以随时加载。

Weka 还支持从原始 CSV 文件和数据库加载数据,并根据需要将数据转换为 ARFF。

在本课中,您将在 Weka 浏览器中加载一个标准数据集。

  1. 启动 Weka(点击鸟图标),这将启动 Weka 图形用户界面选择器。
  2. 点击“浏览器”按钮,这将打开 Weka 浏览器界面。
  3. 单击“打开文件…”按钮,导航到您的 Weka 安装中的数据/目录,并加载 diabetes.arff 数据集。

注意,如果您的 Weka 安装中没有数据/目录,或者您找不到它,请下载。zip 版本的 Weka 从 Weka 下载网页中,解压并访问数据/目录。

您刚刚在 Weka 中加载了第一个数据集。

尝试加载数据/目录中的一些其他数据集。

尝试从 UCI 机器学习资源库下载一个原始 CSV 文件,并将其加载到 Weka 中。

第 03 课:描述性统计和可视化

一旦您可以在 Weka 中加载数据,看一看它是很重要的。

Weka 允许您查看根据数据计算的描述性统计数据。它还提供可视化工具。

在本课中,您将使用 Weka 了解更多关于您的数据的信息。

  1. 打开 Weka 图形用户界面选择器。
  2. 打开 Weka 浏览器。
  3. 加载 data/diabetes.arff 数据集。
  4. 单击“属性”列表中的不同属性,并查看“选定属性”窗格中的详细信息。
  5. 单击“全部可视化”按钮查看所有属性分布。
  6. 单击“可视化”选项卡,查看所有属性的散点图矩阵。

轻松查看“预处理”选项卡中不同属性的详细信息,并在“可视化”选项卡中调整散点图矩阵。

第 04 课:重新缩放数据

原始数据通常不适合建模。

通常,您可以通过重新调整属性来提高机器学习模型的表现。

在本课中,您将学习如何在 Weka 中使用数据过滤器来重新缩放数据。您将规范化数据集的所有属性,将它们重新缩放到 0 到 1 的一致范围。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 点按“过滤器”面板中的“选择”按钮,然后选择“无监督”
  4. 单击“应用”按钮。

查看“选定属性”窗格中每个属性的详细信息,并注意刻度的变化。

探索使用其他数据过滤器,如标准化过滤器。

通过单击加载的过滤器的名称并更改其参数,探索如何配置过滤器。

通过单击“预处理”选项卡上的“保存…”按钮,测试保存修改后的数据集供以后使用。

第 5 课:对数据执行要素选择

并非数据集中的所有属性都与您想要预测的属性相关。

您可以使用特征选择来识别那些与您的输出变量最相关的属性。

在本课中,您将熟悉使用不同的要素选择方法。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“选择属性”选项卡。
  4. 单击“属性评估器”窗格中的“选择”按钮,并选择“相关属性评估”。
    1. 您将看到一个对话框,要求您在使用此功能选择方法时根据需要更改为“Ranker”搜索方法。单击“是”按钮。
  5. 单击“开始”按钮运行功能选择方法。

查看“属性选择输出”窗格中的输出,并记下每个属性的相关分数,数字越大表示相关特征越多。

探索其他特征选择方法,如使用信息增益(熵)。

探索在“预处理”选项卡和“移除”按钮中选择要从数据集中移除的要素。

第六课:Weka 的机器学习算法

Weka 工作台的一个主要好处是它提供了大量的机器学习算法。

你需要了解机器学习算法。

在本课中,您将详细了解 Weka 中的机器学习算法。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“分类”选项卡。
  4. 单击“选择”按钮,注意算法的不同分组。
  5. 单击所选算法的名称进行配置。
  6. 单击配置窗口上的“更多”按钮,了解有关实现的更多信息。
  7. 单击配置窗口上的“功能”按钮,了解如何使用它的更多信息。
  8. 请注意窗口上的“打开”和“保存”按钮,在这里可以保存和加载不同的配置。
  9. 将鼠标悬停在配置参数上,并注意工具提示帮助。
  10. 单击“开始”按钮运行算法。

浏览可用的算法。请注意,无论数据集是分类(预测类别)还是回归(预测实值)类型的问题,有些算法都不可用。

探索并了解更多关于 Weka 中可用的各种算法。

选择和配置算法获得信心。

第 07 课:评估模型表现

既然你知道如何选择和配置不同的算法,你就需要知道如何评估一个算法的表现。

在本课中,您将学习在 Weka 中评估计法表现的不同方法。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“分类”选项卡。

“测试选项”窗格列出了可用于评估计法表现的各种不同技术。

  • 黄金标准是 10 倍的“交叉验证”。默认情况下,这是选中的。对于小数据集,折叠次数可以从 10 次调整到 5 次,甚至 3 次。
  • 如果数据集非常大,并且希望快速评估计法,可以使用“百分比分割”选项。默认情况下,该选项将在 66%的数据集上进行训练,并使用剩余的 34%来评估模型的表现。
  • 或者,如果您有一个包含验证数据集的单独文件,您可以通过选择“提供的测试集”选项来评估您的模型。您的模型将在整个训练数据集上进行训练,并在单独的数据集上进行评估。
  • 最后,您可以在整个训练数据集上评估模型的表现。如果您对描述性模型比对预测性模型更感兴趣,这将非常有用。

单击“开始”按钮,使用您选择的测试选项运行给定的算法。

尝试不同的测试选项。

通过单击“更多选项…”按钮,进一步细化配置中的测试选项。

第 08 课:数据的基准表现

当您开始评估数据集上的多种机器学习算法时,您需要一个比较基准。

基线结果为您提供了一个参考点,让您知道给定算法的结果是好是坏,以及好到什么程度。

在本课中,您将了解可以用作分类和回归算法基线的 ZeroR 算法。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“分类”选项卡。默认情况下,选择零算法。
  4. 单击“开始”按钮。

这将使用数据集上的 10 倍交叉验证来运行 ZeroR 算法。

零规则算法也称为零规则,是一种可以用来计算数据集上所有算法的表现基线的算法。这是“最差”的结果,任何表现更好的算法对你的问题都有一定的技巧。

在分类算法上,ZeroR 算法将总是预测最丰富的类别。如果数据集具有相同数量的类,它将预测第一个类别值。

在糖尿病数据集上,这导致 65%的分类准确率。

对于回归问题,ZeroR 算法将总是预测平均输出值。

在一系列不同的数据集上实验 ZeroR 算法。这是一种算法,你应该总是先运行,然后再开发基线。

第九课:分类算法之旅

Weka 提供了大量的分类算法。

在本课中,您将发现 5 种最常用的分类算法,可用于您的分类问题。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“分类”选项卡。
  4. 单击“选择”按钮。

可用于分类的 5 个顶级算法包括:

  • 逻辑回归(函数。后勤)。
  • 朴素贝叶斯。天真贝叶斯)。
  • k-最近邻居(懒惰。IBk)。
  • 分类和回归树(树。REPTree)。
  • 支持向量机(函数。SMO)。

尝试这些顶级算法。

在不同的类别数据集上尝试它们,比如有两个类的数据集和有更多类的数据集。

第 10 课:回归算法之旅

分类算法是 Weka 的专长,但这些算法中有很多都可以用于回归。

回归是对真实价值结果的预测(比如一美元金额),不同于预测类别的分类(比如“狗”或“猫”)。

在本课中,您将发现 5 种最常用的回归算法,可用于您的回归问题。

可以从Weka 数据集下载网页下载一套标准回归机器学习数据集。下载数据集-回归问题的 numeric.jar 档案,标题为:

  • 一个包含 37 个回归问题的 jar 文件,从各种来源获得

用你最喜欢的解压程序解压。jar 文件,您将有一个名为 numeric/的新目录,其中包含 37 个可以处理的回归问题。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载数据/housing.arff 数据集。
  3. 单击“分类”选项卡。
  4. 单击“选择”按钮。

可以用于衰退的 5 个顶级算法包括:

  • 线性回归(函数。线性回归)。
  • 支持向量回归(函数。SMOReg)。
  • k-最近邻居(懒惰。IBk)。
  • 分类和回归树(树。REPTree)。
  • 人工神经网络(函数。多边感知器)。

尝试这些顶级算法。

在不同的回归数据集上尝试它们。

第 11 课:集成算法之旅

Weka 非常容易使用,这可能是它相对于其他平台的最大优势。

除此之外,Weka 还提供了一大套集成机器学习算法,这可能是 Weka 相对于其他平台的第二大优势。

值得花时间去擅长使用 Weka 的集成算法。在这节课中,你将发现 5 个你可以使用的顶级集成机器学习算法。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“分类”选项卡。
  4. 单击“选择”按钮。

您可以使用的 5 种顶级集成算法包括:

  • 装袋(meta。装袋)。
  • 随机森林(树木。RandomForest)。
  • AdaBoost (meta。AdaBoost)。
  • 投票(元。投票)。
  • 堆叠(元。堆叠)。

尝试这些顶级算法。

大多数集成方法都允许您选择子模型。使用子模型的不同组合进行实验。以非常不同的方式工作并产生不同预测的技术组合通常会产生更好的表现。

在不同的分类和回归数据集上尝试它们。

第 12 课:比较算法的表现

Weka 提供了一种不同的工具,专门用于比较算法,称为 Weka 实验环境。

Weka 实验环境允许您使用机器学习算法设计和执行受控实验,然后分析结果。

在本课中,您将在 Weka 中设计您的第一个实验,并发现如何使用 Weka 实验环境来比较机器学习算法的表现。

  1. 打开“Weka 选择器图形用户界面”。
  2. 点击“实验者”按钮,打开“Weka 实验环境”。
  3. 单击“新建”按钮。
  4. 单击“数据集”窗格中的“添加新…”按钮,并选择“数据/糖尿病. arff”。
  5. 单击“算法”窗格中的“添加新…”按钮,并添加“零”和“IBk”。
  6. 单击“运行”选项卡,然后单击“开始”按钮。
  7. 单击“分析”选项卡,单击“实验”按钮,然后单击“执行测试”按钮。

你刚刚设计、执行并分析了你在 Weka 的第一个受控实验的结果。

您将 ZeroR 算法与糖尿病数据集上默认配置的 IBk 算法进行了比较。

结果表明,IBK 的分类准确率高于零,并且这种差异具有统计学意义(结果旁边的小“v”字符)。

扩展实验,添加更多算法,重新运行实验。

更改“分析”选项卡上的“测试基准”以更改哪组结果被用作与其他结果进行比较的参考。

第 13 课:调整算法参数

为了充分利用机器学习算法,你必须根据你的问题调整方法的参数。

你不能事先知道如何最好地做到这一点,因此你必须尝试许多不同的参数。

Weka 实验环境允许您设计受控实验来比较不同算法参数的结果,以及差异是否具有统计学意义。

在本课中,您将设计一个实验来比较 k 近邻算法的参数。

  1. 打开“Weka 选择器图形用户界面”。
  2. 点击“实验者”按钮,打开“Weka 实验环境”
  3. 单击“新建”按钮。
  4. 单击“数据集”窗格中的“添加新…”按钮,并选择“数据/糖尿病. arff”。
  5. 单击“算法”窗格中的“添加新……”按钮,添加 3 个“IBk”算法副本。
  6. 单击列表中的每个 IBk 算法,然后单击“编辑所选…”按钮,将 3 种不同算法的“KNN”分别更改为 1、3、5。
  7. 单击“运行”选项卡,然后单击“开始”按钮。
  8. 单击“分析”选项卡,单击“实验”按钮,然后单击“执行测试”按钮。

您刚刚设计、执行并分析了一个受控实验的结果,以比较算法参数。

我们可以看到,大 K 值的结果优于默认值 1,差异显著。

探索改变 KNN 的其他配置属性,并在开发调整机器学习算法的实验中建立信心。

第 14 课:保存您的模型

一旦你在你的问题上找到了一个表现最好的模型,你需要最终确定它以备后用。

在最后一课中,您将了解如何训练最终模型,并将其保存到文件中以备后用。

  1. 打开 Weka 图形用户界面选择器,然后打开 Weka 浏览器。
  2. 加载 data/diabetes.arff 数据集。
  3. 单击“分类”选项卡。
  4. 将“测试选项”更改为“使用训练集”,然后单击“开始”按钮。
  5. 右键单击“结果列表”中的结果,然后单击“保存模型”,并输入类似“糖尿病-最终”的文件名。

您刚刚在整个训练数据集上训练了一个最终模型,并将结果模型保存到一个文件中。

你可以将这个模型加载回 Weka,并使用它对新数据进行预测。

  1. 右键单击“结果列表”,单击“加载模型”,并选择您的模型文件(“糖尿病-最终模型”)。
  2. 将“测试选项”更改为“提供的测试集”,然后选择数据/糖尿病。arff(这可能是您没有预测的新文件)
  3. 单击“测试选项”中的“更多选项”,并将“输出预测”更改为“纯文本”
  4. 右键单击加载的模型,然后选择“在当前测试集上重新评估模型”。

新的预测现在将列在“分类器输出”窗格中。

尝试保存不同的模型,并对全新的数据集进行预测。

Weka 迷你课程复习机器学习

恭喜你,你成功了。干得好!

花点时间回顾一下你已经走了多远:

  • 你发现了如何启动和使用 Weka 探索者和 Weka 实验环境,也许是第一次。
  • 您加载数据,分析数据,并使用数据过滤器和特征选择为建模准备数据。
  • 你发现了一套机器学习算法,以及如何设计受控实验来评估它们的表现。

不要轻视这一点,你在短时间内已经取得了很大的进步。这只是您与 Weka 一起进行应用机器学习之旅的开始。不断练习和发展你的技能。

你喜欢这个迷你课程吗?你有什么问题或症结吗?
留言让我知道。

使用 Weka 加快应用机器学习的进度

原文:https://machinelearningmastery.com/applied-machine-learning-with-weka/

最后更新于 2019 年 8 月 22 日

为什么要从 Weka 开始,而不是像应用机器学习的 R 环境或 Python 这样的另一种工具?

在这篇文章中,你会发现为什么 Weka 是对快速擅长应用机器学习感兴趣的初学者的完美平台。

看完这篇文章你会知道:

  • 为什么开始应用机器学习很难。
  • 开始应用机器学习时,最需要关注的一件事。
  • 应用机器学习入门如何善用 Weka?

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Weka 快速加速您在应用机器学习方面的进步乔纳森·里德尔摄,保留部分权利。

从应用机器学习开始很难

当你开始应用机器学习的时候,有很多东西需要学习。

例如:

  • 有算法。
  • 有数据。
  • 有一个你正在解决的具体问题。
  • 这一切背后都是数学。
  • 这是您计划使用的工具。

通常你需要学习一门新的编程语言,比如 python 或者更深奥的语言,比如 Matlab 或者 r。

事实并非如此。

学好一件事比尝试容易得多,可能学不到很多新东西。

专注于学习一件事

当你开始学习机器学习时,要学习的一件事是如何交付结果。

也就是说,给定一个问题,如何解决它并交付一组预测,或者如何交付一个可以生成预测的模型。

不仅仅是预测,而是准确的预测,这些预测可以可靠可靠地传递,你可以用你的名字或公司的名字来对抗,你可以在其中感到自信。

这是要学习的最重要的技能。

它通常包括以下步骤:

  1. 定义你的问题。
  2. 准备你的数据。
  3. 评估一套算法。
  4. 通过调音和集成提高您的效果。
  5. 最终确定您的模型并展示结果。

学习应用机器学习的过程

学习这个过程的最佳工具是 Weka 机器学习工作台。

出现这种情况有 3 个主要原因:

  • 速度:你可以快速解决你的问题,给你更多的时间尝试很多想法。
  • 专注:只是你和你的问题,工具让开了。
  • 覆盖率:它提供了很多最先进的算法可供选择。

它将您从其他平台可能遇到的困境中解救出来。

你不需要花几周时间学习一门新的语言或应用编程接口,你可以专注于学习如何高效地解决问题。

你可以专注于你需要学习的一件有价值的事情:应用机器学习和交付结果的过程。以后,你可以学习如何使用更多不同的工具。

如何最好地使用 Weka

有一种特定的方法,你可以使用 Weka 来最好地帮助你的机器学习之旅。

  • 在内存中的小数据集上练习。这些数据集具有数百或数千个实例,因此处理起来很快,并且是现场的标准数据集,因此很容易理解。
  • 不同题型的练习。从一系列问题领域(如生物学、物理学和广告)和一系列问题类型(如二进制和多类分类、回归、不平衡数据集等)中选择标准数据集。
  • 通过锻炼工具的不同部位进行练习。针对不同的问题使用一系列不同的技术,包括过滤方法、机器学习算法,甚至像聚类和关联规则这样的无监督方法。

这三个简单的原则将帮助你大大加快应用机器学习技能的发展。

你的学习将集中在解决一个问题上,并以一组准确可靠的预测或一个可以持续预测的模型的形式提供结果。

这种方法的优势将意味着您可以大大超过其他在该领域起步的人,他们是:

  • 还在想如何在代码中从零开始实现一个算法。
  • 仍然在思考如何使用深奥的编程语言或应用程序编程接口。
  • 还在想如何设置他们的环境。

在应用机器学习中,结果的快速、可靠和系统的转变比工具的状态更重要。为了这个和更多,Weka 是你前进的方向

摘要

在这篇文章中,你发现了 Weka 机器学习工作台对于应用机器学习初学者的重要性。

你学会了:

  • 开始应用机器学习很难,因为要学的东西太多了。
  • 在应用机器学习中,最重要的事情是提供一个可靠和稳健的结果。
  • 通过在一套标准的机器学习数据集上练习,可以最好地使用 Weka。

你对应用机器学习的 Weka 或者这个帖子有什么问题吗?请在下面的评论中提问,我会尽力回答。

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

原文:https://machinelearningmastery.com/better-understand-machine-learning-data-weka/

最后更新于 2019 年 8 月 22 日

当开始一个新的机器学习问题时,花时间了解你的数据是很重要的。

您可以查看一些关键的东西来快速了解更多关于数据集的信息,例如描述性统计和数据可视化。

在这篇文章中,你将发现如何在 Weka 机器学习工作台中了解更多关于你的数据。

看完这篇文章,你会知道:

  • 回顾统计概要的属性分布。
  • 回顾单变量图的属性分布。
  • 从多元图看属性之间的关系。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧

使用描述性统计更好地理解您的数据

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

  1. 打开 Weka 图形用户界面选择器。
  2. 点击“浏览器”打开 Weka 浏览器。
  3. 数据/diabetes.arff 加载皮马印第安人数据集

皮马印第安人数据集包含数字输入变量,我们可以使用这些变量来演示描述性统计的计算。

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

  • 数据集名称(关系)。
  • 行数(实例)。
  • 列(属性)的数量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据集的 Weka 摘要

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 属性列表

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

  • 属性的名称。
  • 整个数据集中缺失值的数量和缺失值的比率。
  • 不同值的数量。
  • 数据类型。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 属性摘要

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

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

你可以从这些信息中学到很多。例如:

  • 缺失数据的存在和比率可以指示您是否需要移除或估计值。
  • 平均值和标准偏差为您提供了每个属性的数据分布的量化概念。
  • 不同值的数量可以让您了解属性分布的粒度。

单击类属性。此属性具有名义类型。查看“选定的属性面板”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

类属性的 Weka 摘要

我们现在可以看到,对于标称属性,我们获得了每个类别的列表以及属于每个类别的实例数。还有权重的问题,我们现在可以忽略。如果我们想要为数据集中的特定属性值或实例分配更多或更少的权重,则使用这种方法。

单变量属性分布

可以绘制每个属性的分布,以给出分布的直观定性理解。

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

我们可以从上一节开始,我们已经加载了皮马印第安人数据集。

单击“属性面板”中的“预设”属性,并注意“选定属性”面板下方的图。您将看到 0 到 17 之间的 preg 值沿 x 轴的分布。y 轴显示每个 preg 值的计数或频率。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 单变量属性分布

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

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

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 所有单变量属性分布

看看这些图,我们可以看到一些关于这个数据集的有趣的事情。

  • 看起来 plas、pres 和 mass 属性具有近似高斯分布。
  • 它看起来像压力,皮肤,胰岛素和质量在 0 值看起来不合适。

看着这样的图,记下脑海中出现的东西,可以让你对可以应用的进一步数据准备操作有所了解(比如将 0 值标记为损坏),甚至是可能有用的技术(比如假设输入变量为高斯分布的线性判别分析和逻辑回归)。

可视化属性交互

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

当属性是数字时,我们可以创建一个属性相对于另一个属性的散点图。这很有用,因为它可以突出显示属性之间关系的任何模式,例如正或负相关性

我们可以为所有输入属性对创建散点图。这被称为散点图矩阵,在对数据建模之前对其进行审查,可以更好地了解可以研究的进一步预处理技术。

默认情况下,Weka 在“可视化”选项卡中提供散点图矩阵供查看。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 可视化选项卡

继续上一节,加载 Pima Indians 数据集,单击“可视化”选项卡,并使窗口足够大,以查看所有单个散点图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 散点图矩阵

您可以看到所有属性的组合都是以系统的方式绘制的。您还可以看到每个图出现两次,第一次出现在左上方的三角形中,第二次出现在右下方的三角形中,轴翻转。您还可以看到从左下角开始,一直到右上角的一系列绘图,其中每个属性都是相对于自身绘制的。这些都可以忽略。

最后,请注意散点图中的点是根据它们的类值着色的。在点中寻找趋势或图案是很好的,例如颜色的清晰分离。

点击一个情节会给你一个新的窗口,你可以进一步玩这个情节。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 个人散点图

请注意屏幕底部的控件。它们可以让你增加图的大小,增加点的大小和增加抖动。

关于抖动的最后一点是有用的,当你有很多点相互重叠,很难看到发生了什么。抖动会给图中的数据添加一些随机噪声,将点分散一点,并帮助您了解发生了什么。

当您对这些控件进行更改时,单击“更新”按钮应用更改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

散点图矩阵的 Weka 控制

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 改进的散点图矩阵

摘要

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

具体来说,您了解到:

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

关于 Weka 中的描述性统计和数据可视化,或者这个帖子,你有什么问题吗?在下面的评论中提出你的问题,我会尽力回答。

我开始机器学习时犯的最大错误,以及如何避免

原文:https://machinelearningmastery.com/biggest-mistake-i-made-when-starting-machine-learning-and-how-to-avoid-it/

最后更新于 2019 年 8 月 22 日

当我第一次开始机器学习时,我用手实现了算法。进展非常缓慢。

我当时是个糟糕的程序员。我试图从书中找出算法,如何在问题中使用它们,以及如何编写代码——所有这些都是同时进行的。这是我入门时犯的最大的错误。它让一切变得困难 3 倍,扼杀了我的动力。

我的一个朋友建议我去看看 Weka。我反抗了。我是一名学生和 C 程序员,我不想进入 Java。

后来,我在研究决策树算法,我了解到 Weka 有一个 C4.5 的实现(一个非常强大的方法)。

我下载了 Weka,发现除了 Java API 之外,Weka 还有一个完全交互式的图形界面,用于加载数据、运行算法和查看结果。基本上,所有我试图弄清楚如何做和实现自己的事情,但是在一个图形用户界面中。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

加载虹膜数据集的 Weka 浏览器界面

我被迷住了。我开始把它用于课堂作业和我自己的实验。后来在研究生院,我开始了自己的研究,为 Weka ( LVQ 算法和其他)编写第三方插件。

我现在向刚刚入门的程序员推荐它,因为它可以很快在数据集上获得有意义的结果。它还灌输了最佳实践,如用于比较结果的可重复实验和统计方法。

如果你还没有,看看Weka

我有一个简短的教程,在其中你发现如何在 5 分钟内运行一个分类器

祝机器学习好运!

如何在 Weka 中逐步完成二分类项目

原文:https://machinelearningmastery.com/binary-classification-tutorial-weka/

最后更新于 2019 年 12 月 11 日

擅长应用机器学习的最快方法是在端到端项目上练习。

在这篇文章中,你将发现如何在 Weka 中端到端地解决二分类问题。看完这篇文章你会知道:

  • 如何加载数据集并分析加载的数据?
  • 如何创建多个不同的数据转换视图,并对每个视图评估一套算法。
  • 如何最终确定并呈现模型的结果,以便对新数据进行预测。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 分步二进制分类教程
图片由安妮塔·里特尔提供,保留部分权利。

教程概述

本教程将指导您完成机器学习项目所需的关键步骤。

我们将通过以下流程开展工作:

  1. 加载数据集。
  2. 分析数据集。
  3. 准备数据集的视图。
  4. 评估计法。
  5. 最终确定模型并展示结果。

1.加载数据集

本教程中使用的问题是皮马印第安人糖尿病发病数据集。

在这个数据集中,每个实例代表一个患者的医疗细节,任务是预测该患者是否会在未来五年内出现糖尿病。有 8 个数值输入变量,它们都有不同的标度。

最高结果在 77%准确率的级。

1.打开 Weka 图形用户界面选择器。

2.单击“浏览器”按钮打开 Weka 浏览器。

3.点击“打开文件…”按钮,导航至数据/ 目录,选择糖尿病患者。单击“打开”按钮。

数据集现在被加载到 Weka 中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 负荷皮马印度人糖尿病发病数据集

2.分析数据集

在开始建模之前,查看您的数据非常重要。

回顾每个属性的分布和属性之间的交互可能会对我们可以使用的特定数据转换和特定建模技术有所启发。

汇总统计

在“当前关系”窗格中查看数据集的详细信息。我们可以注意到一些事情:

  • 数据集的名称为 pima_diabetes。
  • 数据集中有 768 个实例。如果我们使用 10 倍交叉验证来评估模型,那么每一倍将有大约 76 个实例,这很好。
  • 共有 9 个属性,8 个输入和一个输出属性。

单击“属性”窗格中的每个属性,并查看“选定属性”窗格中的汇总统计信息。

我们可以注意到一些关于数据的事实:

  • 输入属性都是数字,并且具有不同的比例。我们可能会从数据的规范化或标准化中看到一些好处。
  • 没有标记缺失的值。
  • 有些属性的值似乎不太合理,特别是:plas、pres、skin、insu 和 mass 的值为 0。这些可能是可以标记的缺失数据。
  • 类属性是名义的,有两个输出值,这意味着这是一个两类或二进制分类问题。
  • 阶级属性是不平衡的,1 个“积极”结局到 1.8 个“消极”结局,几乎是消极病例数的两倍。我们可以从平衡阶级价值观中受益。

属性分布

单击“全部可视化”按钮,查看每个属性的图形分布。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka·皮马印第安人单变量属性分布

我们可以注意到一些关于数据形状的事情:

  • 一些属性具有类似高斯的分布,如 plas、pres、皮肤和质量,这表明做出这种假设的方法可以获得良好的结果,如逻辑回归和朴素贝叶斯。
  • 我们看到属性值中的类之间有很多重叠。这些类似乎不容易分开。
  • 我们可以清楚地看到阶级不平衡的图形描绘。

属性交互

单击“可视化”选项卡,让我们查看属性之间的一些交互。

  1. 增加窗口大小,以便所有图都可见。
  2. 将“点大小”增加到 3,使点更容易看到。
  3. 单击“更新”按钮应用更改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka·皮马印第安人散点图矩阵

纵观输入变量的图表,我们通常可以看到散点图上的类之间的不良分离。这个数据集不是在公园散步。

这表明我们可以从一些好的数据转换和创建数据集的多个视图中受益。这也表明我们可以从使用集合方法中获益。

3.准备数据集视图

我们在上一节中指出,这可能是一个困难的问题,我们可能会从数据的多个视图中受益。

在本节中,我们将创建数据的各种视图,这样当我们在下一节中评估计法时,我们就可以了解通常更善于将分类问题的结构暴露给模型的视图。

我们将创建 3 个额外的数据视图,这样除了原始数据之外,我们总共将有 4 个不同的数据集副本。我们将从原始数据集创建数据集的每个视图,并将其保存到一个新文件中,供以后在实验中使用。

标准化视图

我们将创建的第一个视图是将所有输入属性规范化为 0 到 1 的范围。这可能有利于多种算法,这些算法会受到属性规模的影响,比如回归和基于实例的方法。

  1. 在浏览器中加载了数据/diabetes.arff 文件。
  2. 点按“过滤器”面板中的“选择”按钮,然后选择“无监督.属性.规范化”过滤器。
  3. 单击“应用”按钮应用过滤器。
  4. 单击“属性”窗格中的每个属性,并查看“选定属性”窗格中的最小值和最大值,以确认它们是 0 和 1。
  5. 单击“保存…”按钮,导航到合适的目录,并为此转换后的数据集键入合适的名称,例如“diabetes-normalize.arff”。
  6. 关闭资源管理器界面,以避免污染我们要创建的其他视图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 标准化皮马印第安数据集

标准化视图

我们在前一节中注意到,一些属性具有类似高斯的分布。我们可以重新缩放数据,并通过使用标准化过滤器将这种分布考虑在内。

这将创建一个数据集副本,其中每个属性的平均值为 0,标准差(平均方差)为 1。这可能有利于下一节中假设输入属性为高斯分布的算法,如逻辑回归和朴素贝叶斯。

  1. 打开 Weka 浏览器。
  2. 加载皮马印第安人糖尿病发病数据集。
  3. 点按“过滤器”面板中的“选择”按钮,然后选择“无监督.属性.标准化”过滤器。
  4. 单击“应用”按钮应用过滤器。
  5. 单击“属性”窗格中的每个属性,并查看“选定属性”窗格中的平均值和标准偏差值,以确认它们分别为 0 和 1。
  6. 单击“保存…”按钮,导航到合适的目录,并为此转换后的数据集键入合适的名称,如“糖尿病-标准化. arff ”。
  7. 关闭浏览器界面。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 标准化皮马印第安人数据集

缺失数据

在前面的部分中,我们怀疑一些属性有标记为 0 值的错误或缺失数据。

我们可以创建数据集的新副本,标记缺失的数据,然后用每个属性的平均值进行估计。这可能有助于假设属性分布平稳变化的方法,如逻辑回归和基于实例的方法。

首先,让我们将一些属性的 0 值标记为缺失。

  1. 打开 Weka 浏览器。
  2. 加载皮马印第安人糖尿病发病数据集。
  3. 单击过滤器的“选择”按钮,选择非监督属性数字过滤器。
  4. 单击过滤器进行配置。
  5. 将属性索引设置为 2-6
  6. 将 minThreshold 设置为 0.1E-8(接近零),这是每个属性允许的最小值。
  7. 将 minDefault 设置为 NaN,它是未知的,将替换阈值以下的值。
  8. 单击过滤器配置上的“确定”按钮。
  9. 单击“应用”按钮应用过滤器。
  10. 单击“属性”窗格中的每个属性,查看每个属性缺少的值的数量。您应该会看到属性 2 到 6 的非零计数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

皮马印第安人数据集的 Weka 数字清洁器数据过滤器

现在,让我们把缺失的值作为平均值。

  1. 单击“过滤器”窗格中的“选择”按钮,并选择“无监督的. attribute . replacementsingvalues”过滤器。
  2. 单击“应用”按钮将过滤器应用到数据集。
  3. 单击“属性”窗格中的每个属性,查看每个属性缺少的值的数量。您应该看到所有属性都应该没有缺失值,并且属性 2 到 6 的分布应该略有变化。
  4. 单击“保存…”按钮,导航到合适的目录,并为此转换后的数据集键入合适的名称,例如“diabetes-missing.arff”。
  5. 关闭 Weka 浏览器。

您可能要考虑调查的其他数据视图是通过要素选择方法选择的要素子集,以及重新平衡类属性的视图。

4.评估计法

让我们设计一个实验,根据我们创建的问题的不同观点来评估一套标准的分类算法。

1.单击 Weka 图形用户界面选择器上的“实验者”按钮,启动 Weka 实验环境。

2.点击“新建”开始新的实验。

3.在“数据集”窗格中,单击“添加新的…”并选择以下 4 个数据集:

  • data/diabetes.arff(原始数据集)
  • 糖尿病-正常化
  • 糖尿病-标准化。arff
  • 糖尿病-失踪

4.在“算法”窗格中,单击“添加新的…”并添加以下 8 种多类分类算法:

  • 规则。零
  • 贝叶斯。天真的贝叶斯
  • 功能。物流的
  • 功能。高年资军医(senior medical officer)
  • 放松,IBk
  • 规则。部分
  • 树木。REPTree
  • 树木。J48

5.在算法列表中选择 IBK,然后单击“编辑所选…”按钮。

6.将“KNN”从“1”更改为“3”,然后单击“确定”按钮保存设置。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

皮马印第安人数据集的 Weka 算法比较实验

7.点击“运行”打开“运行”标签,点击“开始”按钮运行实验。实验应该在几秒钟内完成。

8.点击“分析”打开“分析”标签。单击“实验”按钮加载实验结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

皮马印第安人数据集 Weka 负载算法对比实验结果

9.单击“执行测试”按钮来执行成对测试-将所有结果与 ZeroR 的结果进行比较的测试。

Tester:     weka.experiment.PairedCorrectedTTester -G 4,5,6 -D 1 -R 2 -S 0.05 -result-matrix "weka.experiment.ResultMatrixPlainText -mean-prec 2 -stddev-prec 2 -col-name-width 0 -row-name-width 25 -mean-width 0 -stddev-width 0 -sig-width 0 -count-width 5 -print-col-names -print-row-names -enum-col-names"
Analysing:  Percent_correct
Datasets:   4
Resultsets: 8
Confidence: 0.05 (two tailed)
Sorted by:  -
Date:       10/06/16 9:37 AM

Dataset                   (1) rules.Ze | (2) bayes (3) funct (4) funct (5) lazy. (6) rules (7) trees (8) trees
--------------------------------------------------------------------------------------------------------------
pima_diabetes            (100)   65.11 |   75.75 v   77.47 v   76.80 v   73.86 v   73.45 v   74.46 v   74.49 v
pima_diabetes-weka.filter(100)   65.11 |   75.77 v   77.47 v   76.80 v   73.86 v   73.45 v   74.42 v   74.49 v
pima_diabetes-weka.filter(100)   65.11 |   75.65 v   77.47 v   76.81 v   73.86 v   73.45 v   74.39 v   74.49 v
pima_diabetes-weka.filter(100)   65.11 |   74.81 v   76.86 v   76.30 v   73.54 v   73.03 v   73.70 v   74.69 v
--------------------------------------------------------------------------------------------------------------
                               (v/ /*) |   (4/0/0)   (4/0/0)   (4/0/0)   (4/0/0)   (4/0/0)   (4/0/0)   (4/0/0)

Key:
(1) rules.ZeroR '' 48055541465867954
(2) bayes.NaiveBayes '' 5995231201785697655
(3) functions.Logistic '-R 1.0E-8 -M -1 -num-decimal-places 4' 3932117032546553727
(4) functions.SMO '-C 1.0 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K \"functions.supportVector.PolyKernel -E 1.0 -C 250007\" -calibrator \"functions.Logistic -R 1.0E-8 -M -1 -num-decimal-places 4\"' -6585883636378691736
(5) lazy.IBk '-K 3 -W 0 -A \"weka.core.neighboursearch.LinearNNSearch -A \\\"weka.core.EuclideanDistance -R first-last\\\"\"' -3080186098777067172
(6) rules.PART '-M 2 -C 0.25 -Q 1' 8121455039782598361
(7) trees.REPTree '-M 2 -V 0.001 -N 3 -S 1 -L -1 -I 0.0' -9216785998198681299
(8) trees.J48 '-C 0.25 -M 2' -217733168393644444

我们可以看到,与 ZeroR 相比,所有的算法在数据集的所有视图上都很熟练。我们还可以看到,我们的技能基线是 65.11%的准确率。

只看原始分类准确率,我们可以看到数据集视图中缺失的估计值似乎导致了模型准确率的降低。与原始结果相比,标准化和规范化结果之间除了几个百分点的分数之外,似乎没有什么区别。这表明我们可能会坚持使用原始数据集。

最后,看起来逻辑回归可能比其他算法获得了更高的准确率结果,让我们检查一下差异是否显著。

10.单击“测试基础”的“选择”按钮,然后选择“功能”。后勤”。单击“执行测试”按钮重新运行分析。

Tester:     weka.experiment.PairedCorrectedTTester -G 4,5,6 -D 1 -R 2 -S 0.05 -result-matrix "weka.experiment.ResultMatrixPlainText -mean-prec 2 -stddev-prec 2 -col-name-width 0 -row-name-width 25 -mean-width 2 -stddev-width 2 -sig-width 1 -count-width 5 -print-col-names -print-row-names -enum-col-names"
Analysing:  Percent_correct
Datasets:   4
Resultsets: 8
Confidence: 0.05 (two tailed)
Sorted by:  -
Date:       10/06/16 9:45 AM

Dataset                   (3) function | (1) rules (2) bayes (4) funct (5) lazy. (6) rules (7) trees (8) trees
--------------------------------------------------------------------------------------------------------------
pima_diabetes            (100)   77.47 |   65.11 *   75.75     76.80     73.86 *   73.45 *   74.46 *   74.49
pima_diabetes-weka.filter(100)   77.47 |   65.11 *   75.77     76.80     73.86 *   73.45 *   74.42 *   74.49
pima_diabetes-weka.filter(100)   77.47 |   65.11 *   75.65     76.81     73.86 *   73.45 *   74.39 *   74.49
pima_diabetes-weka.filter(100)   76.86 |   65.11 *   74.81     76.30     73.54 *   73.03 *   73.70 *   74.69
--------------------------------------------------------------------------------------------------------------
                               (v/ /*) |   (0/0/4)   (0/4/0)   (0/4/0)   (0/0/4)   (0/0/4)   (0/0/4)   (0/4/0)

Key:
(1) rules.ZeroR '' 48055541465867954
(2) bayes.NaiveBayes '' 5995231201785697655
(3) functions.Logistic '-R 1.0E-8 -M -1 -num-decimal-places 4' 3932117032546553727
(4) functions.SMO '-C 1.0 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K \"functions.supportVector.PolyKernel -E 1.0 -C 250007\" -calibrator \"functions.Logistic -R 1.0E-8 -M -1 -num-decimal-places 4\"' -6585883636378691736
(5) lazy.IBk '-K 3 -W 0 -A \"weka.core.neighboursearch.LinearNNSearch -A \\\"weka.core.EuclideanDistance -R first-last\\\"\"' -3080186098777067172
(6) rules.PART '-M 2 -C 0.25 -Q 1' 8121455039782598361
(7) trees.REPTree '-M 2 -V 0.001 -N 3 -S 1 -L -1 -I 0.0' -9216785998198681299
(8) trees.J48 '-C 0.25 -M 2' -217733168393644444

看起来逻辑回归的结果确实比其他一些结果更好,比如 IBk、PART、REPTree 和 ZeroR,但在统计上与朴素贝叶斯、SMO 或 J48 没有显著差异。

11.选中“显示标准”。偏差”来表示标准偏差。

12.单击“显示的列”的“选择”按钮,然后选择“功能”。物流”,点击“选择”接受选择。这将只显示逻辑回归算法的结果。

13.单击“执行测试”重新运行分析。

我们现在有了一个可以用来描述我们模型的最终结果。

Tester:     weka.experiment.PairedCorrectedTTester -G 4,5,6 -D 1 -R 2 -S 0.05 -V -result-matrix "weka.experiment.ResultMatrixPlainText -mean-prec 2 -stddev-prec 2 -col-name-width 0 -row-name-width 25 -mean-width 2 -stddev-width 2 -sig-width 1 -count-width 5 -show-stddev -print-col-names -print-row-names -enum-col-names"
Analysing:  Percent_correct
Datasets:   4
Resultsets: 8
Confidence: 0.05 (two tailed)
Sorted by:  -
Date:       10/06/16 9:48 AM

Dataset                   (3) functions.Logist
----------------------------------------------
pima_diabetes            (100)   77.47(4.39) |
pima_diabetes-weka.filter(100)   77.47(4.39) |
pima_diabetes-weka.filter(100)   77.47(4.39) |
pima_diabetes-weka.filter(100)   76.86(4.90) |
----------------------------------------------
(v/ /*) |

Key:
(3) functions.Logistic '-R 1.0E-8 -M -1 -num-decimal-places 4' 3932117032546553727

我们可以看到,该模型对未知数据的估计准确率为 77.47%,标准差为 4.39%。

14.关闭 Weka 实验环境。

5.最终确定模型并展示结果

我们可以根据所有训练数据创建模型的最终版本,并将其保存到文件中。

  1. 打开 Weka 浏览器,加载数据/diabetes.arff 数据集。
  2. 点击分类。
  3. 选择功能。逻辑算法。
  4. 将“测试选项”从“交叉验证”更改为“使用训练集”。
  5. 单击“开始”按钮创建最终模型。
  6. 右键单击“结果列表”中的结果项,然后选择“保存模型”。选择一个合适的位置并输入一个合适的名称,例如您的模型的“糖尿病-后勤”。

该模型可以在以后加载,并用于对新数据进行预测。

我们可以使用上一节中收集的模型准确率的平均值和标准偏差来帮助量化模型在未知数据上的估计准确率的预期可变性。

我们一般可以预计,模型在看不见的数据上的表现将为 77.47%±2 * 4.39%或 8.78%。我们可以重申这一点,准确率在 68.96%到 86.25%之间。

关于模型准确性的这一最终陈述令人惊讶的是,在低端,该模型仅比零利率模型好一点,零利率模型通过预测所有预测的负面结果达到了 65.11%的准确性。

摘要

在这篇文章中,您使用 Weka 机器学习工作台端到端地完成了一个二进制分类机器学习项目。

具体来说,您了解到:

  • 如何分析数据集,并建议可能有用的特定数据转换和建模技术。
  • 如何设计和保存数据的多个视图,并在这些视图上抽查多种算法。
  • 如何最终确定模型,以便对新数据进行预测,并根据看不见的数据显示模型的估计准确率。

你对在 Weka 运行机器学习项目或这篇文章有什么问题吗?在评论中提出你的问题,我会尽力回答。

案例研究:预测五年内糖尿病的发作(第一部分,共 3 部分)

原文:https://machinelearningmastery.com/case-study-predicting-the-onset-of-diabetes-within-five-years-part-1-of-3/

最后更新于 2019 年 8 月 22 日

这是我一直在辅导的聪明的年轻学生伊戈尔·什瓦尔策尔的客座博文。

这篇文章是关于著名的皮马印第安人糖尿病数据集建模的 3 部分系列文章的第一部分,将介绍问题和数据。第二部分将研究特征选择和抽查算法,本系列的第三部分将研究分类准确率的改进和结果的最终呈现。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

预测糖尿病的发作

数据挖掘和机器学习正在帮助医学专业人员通过弥合巨大数据集和人类知识之间的差距来简化诊断。我们可以开始应用机器学习技术在描述糖尿病高发病风险人群的数据集中进行分类。

糖尿病影响全球 3.82 亿人,每个国家的 2 型糖尿病患者人数都在增加。未经治疗,糖尿病会引起许多并发症。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

糖尿病测试
图片由维克托提供,版权所有。

这项研究的人群是亚利桑那州凤凰城附近的皮马印第安人。由于糖尿病发病率高,自 1965 年以来,该人群一直在接受国家糖尿病和消化及肾脏疾病研究所的持续研究。

就本数据集而言,糖尿病是根据世界卫生组织标准诊断的,该标准规定,如果在任何调查检查中,2 小时负荷后葡萄糖至少为 200 毫克/分升,或者如果为社区服务的印度卫生服务医院在常规医疗护理过程中发现葡萄糖浓度至少为 200 毫克/分升。

鉴于我们可以收集到的关于人的医学数据,我们应该能够更好地预测一个人患糖尿病的可能性,并因此采取适当的行动来提供帮助。我们可以开始分析数据和实验算法,这将有助于我们研究皮马印第安人糖尿病的发病情况。

相关著作

我们的研究从深入研究使用相同数据集的研究人员如何处理相同的问题开始。这帮助我了解了数据,为我的研究铺平了道路,特别是因为作者提出了值得研究的替代方法。

1988 年,史密斯、埃弗哈特、迪克森、诺勒和约翰尼斯对使用早期神经网络模型 ADAP 来预测皮马印第安人高风险人群中糖尿病的发病进行了评估。他们认为,当“样本量小,潜在功能关系的形式未知,并且潜在功能关系涉及多个变量之间复杂的相互作用和相互关联时,神经网络方法将提供强有力的结果,参见使用 ADAP 学习算法预测糖尿病的发作

他们将 ADAP 描述为“一个自适应学习例程,它生成并执行类似感知机的设备的数字模拟(T1)”,参见控制和模式识别系统中的学习(T2)。该算法将根据输入变量的函数进行预测,如果预测不正确,将进行内部调整。网络分为 3 个主要层:

  1. 输入,分为“传感器”:代表离散值。这些被组织成分区,并由输入“激发”。
  2. 关联单位:使用阈值函数激活特定的应答者值。连接到基于所述功能而改变的可调权重。
  3. 应答器:应答器值相加,构成具体的预测。

该网络定义了一个“固定矩阵”,其中包含每个属性的分区、一系列可能的值,以及通过“变量数组”识别数据中的连接的能力矩阵中的行对应于传感器,而列对应于关联单元。变量数组提供了一种容易识别传感器和关联单元之间的连接的方法。

768 名皮马印第安人女性

我们可以从 UCI 机器学习知识库上找到的数据中了解到,该知识库包含了皮马印第安人遗产中至少 21 岁女性患者的数据(更新:从这里下载)。

我们有 768 个实例和以下 8 个属性:

  • 怀孕次数
  • 口服葡萄糖耐量试验(plas)中 2 小时的血浆葡萄糖浓度
  • 舒张压(毫米汞柱)
  • 三头肌皮肤褶皱厚度,单位为毫米(皮肤)
  • 2 小时血清胰岛素(单位:微克/毫升)
  • 体重指数以千克为单位(m)² 的身高(质量))
  • 糖尿病谱系功能
  • 年龄(年龄)

研究中使用的一个特别有趣的属性是糖尿病谱系功能。它提供了一些关于亲属中糖尿病史以及这些亲属与患者的遗传关系的数据。这种对遗传影响的测量让我们了解了糖尿病发病时可能存在的遗传风险。根据前面部分的观察,尚不清楚这一功能对糖尿病发病的预测有多好。

数据观察

首先,我检查了每个属性,并回顾了 Weka Explorer 准备的分布参数。我注意到:

  • 孕龄和年龄属性是整数。
  • 人口普遍年轻,不到 50 岁。
  • 存在零值的一些属性似乎是数据中的错误(例如 plas、pres、skin、insu 和 mass)。

在检查类值的分布时,我注意到有 500 个负实例(65.1%)和 258 个正实例(34.9%)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

显示类别分布的属性直方图,截图来自 Weka

查看数据集中所有属性的直方图表明:

  • 一些属性看起来呈正态分布(plas、pres、skin 和 mass)。
  • 有些属性看起来可能呈指数分布(孕、因苏、足浴、年龄)。
  • 年龄可能应该有一个正态分布,对数据收集的约束可能已经偏斜了分布。
  • 对正态性的测试(正态图)可能是有意义的。我们可以考虑将数据拟合成正态分布。

查看数据集中所有属性的散点图显示:

  • 年龄与糖尿病发病无明显关系。
  • pedi 功能与糖尿病发病无明显关系。
  • 这可能表明糖尿病不是遗传的,或者糖尿病谱系功能需要发挥作用。
  • 较大的 plas 值与较大的年龄、pedi、体重、胰岛素、皮肤、压力和妊娠值相结合,倾向于显示糖尿病检测阳性的可能性较大。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

糖尿病数据散点图,截图来自 Weka

重要的是要考虑数据的所有可能限制,可能包括以下内容:

  • 结果可能仅限于皮马印第安人,但给我们提供了一个如何开始诊断其他糖尿病人群的良好开端。
  • 结果可能受限于收集数据的时间(60 年代至 80 年代)。今天诊断糖尿病的医疗程序包括尿检和血红蛋白 A1c 检测,它显示了过去 3 个月的平均血糖水平。
  • 数据集相当小,这可能会限制某些算法的表现。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

伊戈尔·施瓦辛格

关于伊戈尔·什瓦尔策尔

嘿!我叫伊戈尔·什瓦尔策尔,在圣克鲁斯的加州大学学习数学和计算机科学。我一直对机器学习非常感兴趣,最近在我的学校完成了一门名为机器学习和数据挖掘的课程后,我受到了启发,想学习更多的东西。

我发现了机器学习掌握网站,发现它真的很有帮助,尤其是补充了我课程中的材料。不久之后,我很兴奋地看到杰森通过电子邮件联系了我,并给了我一个为他的网站做贡献的机会。我们能够设计一个机器学习项目,我将在接下来的几周内使用 Weka 进行研究,Weka 是怀卡托大学编写的一套机器学习软件。我希望更多地了解机器学习算法、应用程序和数据分析,每当我可能陷入困境时,我都会接受杰森的指导。

当我不学习机器学习的时候,我要么骑山地自行车,要么和一个团队一起开发开源软件,让科学家分析和收集分子聚合物图像的数据。在此之前,我能够在圣克鲁斯的一家小型初创公司内帮助改变公司管理和了解其可持续发展数据的方式。

第二部分

敬请关注第二部分关于特征选择和算法抽查

案例研究:预测五年内糖尿病的发作(第二部分,共 3 部分)

原文:https://machinelearningmastery.com/case-study-predicting-the-onset-of-diabetes-within-five-years-part-2-of-3/

最后更新于 2019 年 8 月 22 日

这是我一直在辅导的聪明的年轻学生伊戈尔·什瓦尔策尔的客座博文。

这篇文章是关于建模著名的皮马印第安人糖尿病数据集的 3 部分系列文章的第二部分(更新:从这里下载)。在第一部分中,我们定义了问题并查看了数据集,根据我们在数据中注意到的模式描述了观察结果。

在本文中,我们将介绍方法论、抽查算法,并回顾初步结果。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

方法学

研究中的分析和数据处理使用Weka 机器学习软件进行。十倍交叉验证用于实验。其工作原理如下:

  • 从给定数据生成 10 个大小相等的数据集
  • 将每套分为两组:90%用于培训,10%用于测试。
  • 从 90%的标记数据中生成一个带有算法的分类器,并将其应用于集合 1 的 10%测试数据。
  • 继续第 2 集到第 10 集
  • 对从 10 个相同大小(训练和测试)的集合中产生的 10 个分类器的表现进行平均

算法

在本研究中,我们将研究 4 种算法的表现:

这些算法是相关的,因为它们对数据集执行分类,适当地处理缺失或错误的数据,并且在专注于医学诊断的科学文章中具有某种意义,参见论文医学诊断的机器学习:历史、现状和前景医学诊断中的人工神经网络

逻辑回归是一种概率统计分类器,用于根据一个或多个预测变量预测分类因变量的结果。该算法测量因变量和一个或多个自变量之间的关系。

朴素贝叶斯是基于贝叶斯定理的简单概率分类器,具有很强的独立性假设。贝叶斯定理如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

贝叶斯定理

一般来说,我们可以通过观察事件的一些证据或概率来预测事件的结果。我们掌握的事件发生的证据越多,我们就越能支持它的预测。有时,我们拥有的证据可能依赖于其他事件,这使得我们的预测更加复杂。为了创建一个简化的(或“天真的”)模型,我们假设特定事件的所有证据都是独立于任何其他证据的。

根据布瑞曼的说法,随机森林创造了一种对特定结果进行投票的树的组合。森林选择包含最多投票的分类。这个算法令人兴奋,因为它是一个 bagging 算法,并且它可以通过在不同的训练数据子集上训练算法来潜在地改善我们的结果。随机森林学习器的成长方式如下:

  • 从训练集中采样替换成员形成输入数据。三分之一的训练集不存在,并且被认为是“现成的”
  • 为每棵树选择随机数量的属性,这些属性形成节点和叶子。
  • 每棵树都在不修剪的情况下尽可能长得大(去掉那些在分类中没有什么意义的部分)。
  • 然后用袋外数据评估每棵树和整个森林的准确性。

C4.5(在 Weka 中也称为“J48”)是一种用于生成分类决策树的算法。C4.5 中的决策树以下列方式生长:

  1. 在每个节点上,选择最能有效地将样本分成不同类别的子集的数据。
  2. 设置具有最高归一化信息增益的属性。
  3. 使用此属性创建决策节点并进行预测。

在这种情况下,信息增益是两个概率分布两个属性之差的度量。让这个算法对我们有帮助的是,它解决了昆兰早期算法 ID3 可能遗漏的几个问题。根据昆兰的说法,这些包括但不限于:

  • 避免数据过拟合(决定决策树的深度)。
  • 减少错误修剪。
  • 规则后修剪。
  • 处理连续属性(例如,温度)
  • 选择合适的属性选择度量。
  • 处理缺少属性值的训练数据。
  • 处理不同成本的属性。
  • 提高计算效率。

估价

在数据集上执行交叉验证后,我将通过三个指标的镜头重点分析算法:准确率、ROC 面积和 F1 度量

基于测试,准确性将决定算法正确分类的实例的百分比。这是我们分析的一个重要开始,因为它将为我们提供每种算法的表现基线。

ROC 曲线是通过绘制真阳性率与假阳性率的比值来创建的。最佳分类器的 ROC 面积值接近 1.0,0.5 相当于随机猜测。我相信,看看我们的算法如何在这个规模上进行预测将会非常有趣。

最后,F1 测量将是分类的重要统计分析,因为它将测量测试准确率。F1 measure 使用准确率(真阳性数除以真阳性和假阳性数)和召回(真阳性数除以真阳性数和假阴性数)来输出 0 到 1 之间的值,其中值越高意味着表现越好。

我坚信,所有算法的表现都将相当相似,因为我们处理的是一个小数据集进行分类。然而,这 4 种算法都应该比给出大约 65%准确度的类基线预测表现得更好。

结果

为了对各种算法进行严格的分析,我使用Weka 实验者对所有创建的数据集进行了表现评估。结果如下所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

糖尿病数据集上的算法分类准确率平均值和各种数据集上逻辑回归表现的散点图。

这里的数据表明,逻辑回归在标准的、未改变的数据集上表现最好,而随机森林表现最差。然而,任何算法之间都没有明显的赢家。

平均而言,标准化和规范化数据集似乎具有更高的准确率,而离散数据集的准确率最差。这可能是因为标称值不允许对我考虑的算法进行准确预测。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将逻辑回归的表现与其他算法的表现进行比较。

归一化数据集上的尺度调整可能会略微改善结果。然而,转换和重新调整数据并没有显著改善结果,因此可能没有暴露数据中的任何结构。

我们还可以通过与第一列中的值(逻辑回归的准确性)相比具有统计学显著差异的值来看到星号(*)。Weka 通过使用标准 T-Test 或校正的重采样 T-Test 对方案进行成对比较,得出统计上无意义的结论,参见论文对泛化误差的推断

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

算法在糖尿病数据集上的 ROC 面积平均值和在不同数据集上的 logistic 回归表现散点图

结果再次表明,物流出口表现最好,而 C4.5 表现最差。平均而言,校正缺失值的数据集表现最好,而离散数据集表现最差。

在这两种情况下,我们发现树算法在这个数据集上的表现都不好。事实上,C4.5 给出的所有结果(以及 RandomForest 给出的除一个结果之外的所有结果)与 LogisticRegression 给出的结果相比,具有统计学上的显著差异。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将逻辑回归的 ROC 曲线面积与其他算法的 ROC 曲线面积进行比较。

这种较差的表现可能是树算法复杂的结果。测量因变量和自变量之间的关系可能是一个优势。此外,C4.5 可能没有为其分析选择正确的属性,因此恶化了基于最高信息增益的预测。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

糖尿病数据集上的 F1 测量值和各种数据集上的逻辑回归 F1 测量的散点图。

在前两个分析中,我们发现朴素贝叶斯的表现紧跟在物流配送的表现之后。现在我们发现,除了一个结果之外,朴素贝叶斯的所有结果与逻辑推理给出的结果相比都有统计学上的显著差异。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将逻辑回归的 F1 分数与其他算法的 F1 分数进行比较。

结果显示,物流出口表现最好,但差不了多少。这意味着在这种情况下,LogisticRegression 具有最准确的测试,并且在这个数据集上学习得相当好。回想一下 F1-measure 背后的计算,我们知道:

  • 回忆: R = TP / (TP + FN),
  • 准确率: P = TP / (TP + FP),和
  • F1-测量: F1 = 2[ (R * P) / (R + P) ],

其中 TP =真阳性,FP =假阳性,FN =假阴性。

然后,我们的结果表明,物流分离最大化了真阳性率,最小化了假阴性率和假阳性率。至于糟糕的表现,我被引导相信朴素贝叶斯所做的预测只是太“天真”了,因此算法过于自由地使用独立性。

我们可能需要更多的数据来为特定事件的发生提供更多的证据,这应该更好地支持它的预测。在这种情况下,树算法可能会因为其复杂性,或者仅仅因为选择不正确的属性进行分析而受到影响。对于更大的数据集来说,这可能不是什么大问题。

有趣的是,我们还发现,在diabetes _ distributed . ARFF数据集上,表现最好的算法 LogisticRegression 的表现最差。可以很有把握地假设,对于 LogisticRegression,所有的数据转换(除了diabetes _ distributed . ARFF)似乎都会产生更好的非常相似的结果,这一点通过每个散点图中的相似趋势非常明显!

接下来在第三部分中,我们将研究分类准确率的改进和结果的最终呈现

案例研究:预测五年内糖尿病的发作(第三部分,共 3 部分)

原文:https://machinelearningmastery.com/case-study-predicting-the-onset-of-diabetes-within-five-years-part-3-of-3/

最后更新于 2019 年 8 月 22 日

这是我一直在辅导的聪明的年轻学生伊戈尔·什瓦尔策尔的客座博文。

这篇文章是关于模拟著名的皮马印第安人糖尿病数据集的 3 部分系列文章的第三部分,该数据集将调查分类准确性的改进并呈现最终结果(更新:从这里下载)。

第一部分中,我们定义了问题并查看了数据集,根据我们在数据中注意到的模式描述了观察结果。在第二部分中,我们定义了实验方法并给出了初步结果。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

改善结果

为了提高结果,我们可以求助于集成方法,比如增强。Boosting 是一种集成方法,从基于训练数据准备的基本分类器开始。然后在它后面创建第二个分类器,以关注训练数据中第一个分类器出错的实例。

该过程继续添加分类器,直到达到模型数量或准确率的极限。Weka 在 AdaBoostM1(自适应升压)算法中提供了升压功能。结果如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提高了糖尿病数据集上的算法准确率平均值和各种数据集上逻辑回归表现的散点图。原始结果为红色,而增强结果为蓝色。

很明显,boosting 对 LogisticRegression 没有影响,但是明显恶化了树算法的表现。根据 Weka 实验者的结果,与增强的 C4.5、随机森林和增强的随机森林给出的结果相比,增强的物流出口的表现具有统计学上的显著差异。

由于 RandomForest 已经包含了一种集成方法,即装袋,增加提升可能会导致过拟合,因此可以解释表现不佳的原因。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将增强逻辑回归的表现与其他算法的表现进行比较。

无论如何,我们仍然无法用表现最好的算法 LogisticRegression 超过 77.47%的准确率。这可能是由于数据的限制或交叉验证值低。我们发现,在某些情况下,例如使用 C4.5,执行 AdaBoost 后,准确率从 74.28%急剧下降到 71.4%。

接下来,我们将看看每个增强算法的 ROC 区域。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

增强算法在糖尿病数据集上的 ROC 面积平均值和在各种数据集上的 logistic 回归表现散点图。原始结果为红色,而增强结果为蓝色。

我们可以看到散点图上的点形成了比较平滑的趋势。换句话说,数据点之间的差异较小。我们在这里的结果非常有趣:除了 C4.5 之外的所有增强算法都显示 ROC 面积的较小值。这意味着与其他增强的算法相比,增强的 C4.5 给出的假阳性稍少,而真阳性稍多。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将逻辑回归的 ROC 曲线面积与其他算法的 ROC 曲线面积进行比较。

乍一看这似乎有点奇怪:提升 C4.5 会降低准确率,但增加 ROC 面积。如果我们考虑到准确性实际上是真阳性和假阳性的总结,而 ROC 区域是命中率和虚警率的综合,那么差异就很明显了。无论哪种方式,我们发现增强的 C4.5 与 LogisticRegression(默认和增强形式)给出的结果相比,具有统计学上的显著差异。

最后,我们将看一看 F1 对增强算法的度量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

糖尿病数据集上的增强型 F1 测量值和各种数据集上的逻辑回归 F1 测量的散点图。原始结果为红色,而增强结果为蓝色。

我们再次发现,logisticreduction 表现相当不错,但在分析 F1 测度时,boosting 对 logisticreduction 没有影响。我们似乎已经突破了逻辑推理的极限,并再次看到它在统计上优于树算法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将 Boosted Logistic 回归的 F1 分数与其他算法的 F1 分数进行比较。

移除测试假设的属性

我们可能也有兴趣改变研究,使其非侵入性,因此只分析算法在四个属性上的表现:质量、皮肤、年龄和 pedi。这可能有助于允许医疗专业人员进行更大规模的糖尿病测试,并使测试更快。当然,有了这些优势,我们可能会失去一些准确性。

基于我们在散点图中看到的数据,我相信我们的算法在数据集上会表现得很好,但不如标准数据集。创建一个新的数据集(并将其命名为 diabetes _ noninvasive.arff)是检验我们自己对糖尿病发病假设的一种方法,即风险随着肥胖和年龄的增长而增加。以类似的方式,我能够使用 Weka Explorer 移除属性,然后使用 Weka Experimenter 分析算法表现。结果如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有创和无创糖尿病数据集上的算法准确率平均值。非侵入性结果为红色,而原始结果为蓝色。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将逻辑回归的表现与其他算法的表现进行比较。

通过所有指标,正如预测的那样,无创数据集没有提供非常准确的结果。我们发现类似的趋势,正如我们在早期的分析中所做的那样,即物流出口仍然表现得最准确。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

算法 ROC 面积平均在侵入性和非侵入性糖尿病数据集。非侵入性结果为红色,而原始结果为蓝色。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者输出比较逻辑回归的 ROC 面积和其他算法的 ROC 面积。

我们的无创测试结果实际上与标准数据集的结果相当。我们可能会发现,从长远来看,这种准确性的下降可能是昂贵的,但我们可能会使用这种测试作为官方糖尿病测试的前兆。借助今天的技术,可以在线进行无创测试来预测糖尿病的发作——假设我们可以接受更多的错误——然后可以向患者建议是否需要进一步测试。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

算法 F1 测量侵入性和非侵入性糖尿病数据集的平均值。非侵入性结果为红色,而原始结果为蓝色。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Experimenter 输出将 Boosted Logistic 回归的 F1 度量与其他算法的 F1 度量进行比较。

结论

在这项研究中,我们比较了各种算法的表现,发现逻辑回归在标准的、未改变的数据集上表现良好。我们试图了解不同的改变数据集如何影响我们的结果。

此外,我们密切关注物流配送,并通过各种指标分析其表现。这里的工作让我对机器学习在医学诊断中的应用有了更好的理解。这也是关于数据转换和算法分析的重要一课。

有些不幸的是,许多医学数据集很小(这可能是由于患者的保密性),因为更大的数据集会给我们分析带来更大的灵活性和鲁棒性。然而,我坚信这项研究是一个良好的开端,有助于建立帮助诊断患者的方法,并弥合医生和大数据集之间的差距。

如何在 Weka 中比较机器学习算法的表现

原文:https://machinelearningmastery.com/compare-performance-machine-learning-algorithms-weka/

最后更新于 2019 年 12 月 11 日

对于给定的机器学习问题,应该使用什么算法?

这就是应用机器学习的挑战。这个问题没有快速的答案,但是有一个可靠的过程,你可以使用。

在这篇文章中,你将发现如何通过在 Weka 中直接比较来为数据集找到好的甚至最好的机器学习算法。

看完这篇文章你会知道:

  • 为一个问题发现好的甚至最好的机器学习算法的过程。
  • 如何在 Weka 设计一个实验来比较不同机器学习算法的表现?
  • 如何分析 Weka 的实验结果?

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何比较 Weka
中机器学习算法的表现图片作者: Clark H ,保留部分权利。

一个问题的最佳机器算法

应用机器学习中最常见的问题是:

什么算法最适合我的问题?

答案无法提前知道。如果你足够了解你的问题,知道哪种算法最好,你就不需要使用机器学习。你会简单地解决你的问题。

机器学习技术是针对那些必须从数据中学习解决方案的难题。传统技术无法使用的地方。

选择算法有很多经验法则。例如,如果一个算法期望特定分布的数据,而您的数据具有该分布,那么该算法可能非常适合您的问题。这有两个问题:

  1. 许多算法可能有期望,使它们适合您的问题。
  2. 有时,当算法的期望被违背时,可以获得好的甚至最好的结果。

经验法则是很好的起点,但不是算法的最终选择。

针对您的问题的最佳机器学习算法是根据经验找到的。通过反复试验。

这是通过对你的问题评估一套非常不同类型的算法来完成的,找到有效的算法,并对那些有希望的 2-3 算法加倍。我称这种方法为抽查。

流程如下:

  1. 设计一个测试工具,包括训练数据集、任何数据准备和测试选项,如 10 倍交叉验证。
    1. 要获得加分,请对数据集的多个不同演示或视图重复实验。这将有助于最好地将问题的结构暴露给愿意学习它的算法。
  2. 选择一套对问题有非常不同假设的不同算法,例如线性模型、树、基于实例的方法、概率方法、神经网络等等。
    1. 对于奖励积分,允许每种算法发挥其最大优势,包括每种算法在不同常用配置方案下的变化。
  3. 评估训练数据集中的算法套件。
  4. 分析结果并确定 2 到 3 种不同的算法,以便进一步研究。

这个过程总是会引导你找到在机器学习问题上表现良好的算法。实际上,你真的只需要一个尽可能做得好的模型,只要你有时间。

找到最适合你的问题的模型是一个你愿意投入多少时间去尝试不同的算法并调整那些表现良好的算法的问题。

比较 Weka 中的算法表现

您可以使用实验环境在 Weka 中抽查您的问题的机器学习算法。

在本教程中,您将设计、运行和分析您的第一个机器学习实验。

我们将使用皮马印第安人糖尿病发病数据集。每个实例代表一名患者的医疗细节,任务是预测该患者在未来五年内是否会出现糖尿病。有 8 个数值输入变量都有不同的尺度。

最高的结果大约是 77%的准确率。

我们将在原始数据集上评估 5 种不同的机器学习算法:

  • 逻辑回归(逻辑回归)
  • 朴素贝叶斯
  • 分类和回归树
  • 最近的邻居或 KNN
  • 支持向量机或 SVM (SMO)

将使用默认算法配置评估每个算法。你可以自己研究这个实验的自然延伸是:

  • 创建数据集的多个不同视图来评估计法,如标准化、规范化等。
  • 向套件中添加更多算法进行评估。
  • 使用通用或标准算法配置添加每个算法的更多变体。

本教程分为 3 个部分:

  1. 设计实验。
  2. 运行实验。
  3. 查看实验结果。

1.设计实验

Weka 实验环境是一个工具,您可以使用它在数据集上使用机器学习算法运行受控实验。

Weka 实验环境允许您定义一个或多个数据集和一个或多个算法来处理数据集。然后,您可以运行并监控实验。最后,所有的结果都被收集并呈现给你分析。

在本节中,我们将使用皮马印第安人糖尿病发病数据集、10 倍交叉验证(默认)和 5 种常见分类算法来定义实验。

每个算法将在数据集上用不同的随机数种子评估 10 次(10 次交叉验证的 10 次运行)。这将导致每个评估计法有 10 个稍微不同的结果,这是一个小群体,我们可以稍后使用统计方法来解释。

1.打开 Weka 图形用户界面选择器。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 图形用户界面选择器

2.点击“实验者”按钮,打开 Weka 实验者界面。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验环境设置选项卡

3.在“设置”选项卡上,单击“新建”按钮开始新的实验。

4.在“数据集”面板中,点击“添加新……”按钮,选择数据/糖尿病。

5.在“算法”窗格中,单击“添加新…”按钮,单击“选择”按钮,并在“函数”组下选择“逻辑”算法。点击“确定”按钮添加。

重复并添加以下 4 个附加算法:

  • “贝叶斯”小组下的朴素贝叶斯。
  • “树”组下的 REPTree。
  • “懒”组下的 IBk。
  • “职能”小组下的 SMO。

您可以通过单击“设置”面板顶部的“保存”按钮来保存该实验定义。如果您想在将来的实验中创建新的变体,这将非常有用。您可以使用“打开”按钮加载定义。

最后,您可以将实验结果保存到 ARFF 文件中。如果您想在以后加载和分析结果,这很有用。您可以在“结果目标”窗格中指定保存实验结果的文件。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验环境配置实验

2.运行实验

现在是进行实验的时候了。

1.单击“运行”选项卡。

这里几乎没有选择。你所能做的就是开始一个实验或者停止一个正在运行的实验。

2.点击“开始”按钮并运行实验。它应该在几秒钟内完成。这是因为数据集很小。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验环境运行实验

3.查看实验结果

Weka 实验环境的第三个面板用于分析实验结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验环境分析选项卡

您可以从以下位置加载结果:

  • 文件,如果您将实验配置为将结果保存到“设置”选项卡上的文件中。
  • 数据库,如果您将实验配置为将结果保存到“设置”选项卡上的数据库中。
  • 一个实验,如果你刚刚在实验环境中运行了一个实验(我们刚刚做了)。

通过单击“源”窗格中的“实验”按钮,加载我们刚刚执行的实验的结果。

您将看到加载了 500 个结果。这是因为我们有 5 个算法,每个算法被评估 100 次,10 次交叉验证乘以 10 次重复。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验环境负载结果

收集了许多不同表现指标的结果,例如分类准确率。

实验环境允许我们对不同的表现指标进行统计测试,以便我们从实验中得出结论。

例如,我们对实验中的两个问题感兴趣:

  • 实验中评估的哪种算法表现最好?这对于了解我们是否想要立即创建一个好的表现模型非常有用。
  • 算法的表现排名是多少?这有助于了解我们是否想进一步研究和调整在这个问题上表现最好的 2 对 3 算法。

我们可以将结果摘要配置为显示在“配置测试”窗格中。

统计测试的类型可以在“测试方式”选项中选择,默认情况下,该选项设置为“配对测试器(已更正)”。这很好,将成对比较每个算法,并对收集的结果的分布做出一些合理的假设,例如它们是从高斯分布中得出的。显著性级别在“显著性”参数中设置,默认为 0.05 (5%),这也是可以的。

我们不需要陷入统计显著性检验的技术细节。这些有用的缺省值将告知我们,我们所审查的任何成对算法表现比较之间的差异是否在 95%的置信度下具有统计显著性。

我们可以在“比较字段”选项中选择比较算法的表现度量。默认值是“百分比 _ 正确”度量(准确性),这正是我们第一次通过时感兴趣的。

我们可以将所有的算法结果与一个基本结果进行比较。这可以通过“测试基础”选项来指定。默认值是列表中评估的第一个算法,在本例中是逻辑回归。我们可以通过点击“测试基地”旁边的“选择”按钮来看到这一点。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验环境测试基地

单击“操作”窗格中的“执行测试”按钮,执行统计测试并生成一些我们可以查看的输出。您应该会看到如下所示的结果。

Tester:     weka.experiment.PairedCorrectedTTester -G 4,5,6 -D 1 -R 2 -S 0.05 -result-matrix "weka.experiment.ResultMatrixPlainText -mean-prec 2 -stddev-prec 2 -col-name-width 0 -row-name-width 25 -mean-width 0 -stddev-width 0 -sig-width 0 -count-width 5 -print-col-names -print-row-names -enum-col-names"
Analysing:  Percent_correct
Datasets:   1
Resultsets: 5
Confidence: 0.05 (two tailed)
Sorted by:  -
Date:       8/06/16 8:41 AM

Dataset                   (1) function | (2) bayes (3) lazy. (4) trees (5) funct
--------------------------------------------------------------------------------
pima_diabetes            (100)   77.47 |   75.75     70.62 *   74.46 *   76.80
--------------------------------------------------------------------------------
                               (v/ /*) |   (0/1/0)   (0/0/1)   (0/0/1)   (0/1/0)

Key:
(1) functions.Logistic '-R 1.0E-8 -M -1 -num-decimal-places 4' 3932117032546553727
(2) bayes.NaiveBayes '' 5995231201785697655
(3) lazy.IBk '-K 1 -W 0 -A \"weka.core.neighboursearch.LinearNNSearch -A \\\"weka.core.EuclideanDistance -R first-last\\\"\"' -3080186098777067172
(4) trees.REPTree '-M 2 -V 0.001 -N 3 -S 1 -L -1 -I 0.0' -9216785998198681299
(5) functions.SMO '-C 1.0 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K \"functions.supportVector.PolyKernel -E 1.0 -C 250007\" -calibrator \"functions.Logistic -R 1.0E-8 -M -1 -num-decimal-places 4\"' -6585883636378691736

我们可以看到,逻辑回归,我们的比较基础标记为(1)有 77.47%的问题的准确性。将该结果与其他 4 种算法进行比较,并用数字表示,并映射到结果表底部的图例中。

请注意 IBk 和 REPTree 结果旁边的“*”。这表明结果与逻辑结果有显著差异,但分数较低。在表中,朴素贝叶斯和 SMO 的结果旁边没有任何字符,这表明结果与逻辑斯蒂没有显著差异。如果一个算法的结果大于基本算法,并且差异显著,那么在结果旁边会出现一个小的“v”。

如果我们必须立即建立一个模型,我们可以选择逻辑回归,但我们也可以选择朴素贝叶斯或 SMO,因为它们的结果没有显著差异。逻辑回归是一个很好的模型选择,因为它简单,我们理解和快速训练。

我们可能不会选择 IBk 或决策树,至少不会选择它们的默认配置,因为我们知道逻辑回归可以做得更好,并且这个结果具有统计学意义。

用 Weka 实验调试误差

你有时会在运行实验时出错。

“运行”选项卡中的日志将报告“有 1 个错误”并且没有更多信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

实验中的 Weka 误差

通过查看 Weka 日志,您可以很容易地找出问题所在。

在 Weka 图形用户界面选择器中,单击“程序”菜单和“日志菜单”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 开放日志

这将打开 Weka 日志。

从上到下滚动日志,查找与您的实验相对应的错误。这可能是日志中的最后一个错误(在底部)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 日志窗口

通常,实验误差会由两个原因之一引起:

  • 您在 Weka 实验者的“设置”选项卡上的“实验类型”窗格中选择了错误的问题类型。例如,您的问题可能是“回归”类型的问题,您选择了“分类”。
  • 您在“Weka 实验者”的“设置”选项卡上的“算法”窗格中向实验添加了错误类型的算法。例如,您可能向分类类型问题添加了一个仅支持回归的算法(如线性回归)。

查看 Weka 日志中的错误时,请留意提示上述问题之一的消息。

摘要

在这篇文章中,你发现了如何为你的数据问题找到好的甚至最好的机器学习算法。
具体你学到了:

  • 对一个问题的一套不同算法进行抽查的过程,目的是找到一个算法子集,为进一步研究做好准备。
  • 如何设计和运行一个实验来比较机器学习算法在数据集上的表现。
  • 如何解释机器学习实验的结果,以回答关于你的问题的问题。

关于在你的数据集上比较机器学习算法的表现,或者关于这篇文章,你有什么问题吗?在评论中提出你的问题,我会尽力回答。

设计并运行你在 Weka 的第一个实验

原文:https://machinelearningmastery.com/design-and-run-your-first-experiment-in-weka/

最后更新于 2020 年 12 月 10 日

Weka 是学习机器学习的完美平台。它提供了一个图形用户界面,用于在数据集上探索和实验机器学习算法,而您不必担心数学或编程。

Weka 的一个强大功能是 Weka 实验员界面。与用于过滤数据和尝试不同算法的 Weka 探索者不同,实验者用于设计和运行实验。它产生的实验结果是健壮的,并且足够好,可以发表(如果你知道你在做什么)。

在之前的一篇文章中,你学习了如何在 Weka 探索者中运行你的第一个分类器。

在这篇文章中,你将发现 Weka 实验者的力量。如果你按照一步一步的指示去做,你将在五分钟内为安润设计你的第一个机器学习实验。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一次实验
图片由 mhofstrand 提供,保留部分权利

1。下载并安装 Weka

访问 Weka 下载页面找到适合你电脑的 Weka 版本(Windows、Mac 或 Linux)。

Weka 需要 Java。您可能已经安装了 Java,如果没有,下载页面上列出的 Weka 版本(适用于 Windows)包含 Java,并将为您安装。我自己也在苹果电脑上,就像苹果电脑上的其他东西一样,Weka 开箱即用。

如果你对机器学习感兴趣,那么我知道你可以想出如何将软件下载并安装到自己的计算机中。

2.启动 Weka

启动 Weka。这可能需要在程序启动器中找到它,或者双击 weka.jar 文件。这将启动 Weka 图形用户界面选择器。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 图形用户界面选择器

Weka 图形用户界面选择器允许您选择资源管理器、实验器、知识管理器和简单命令行界面(命令行界面)之一。

点击 实验者 按钮,启动 Weka 实验者。

Weka Experimenter 允许您设计自己的在数据集上运行算法的实验,运行实验并分析结果。这是一个强大的工具。

3.设计实验

点击 新建 按钮创建新的实验配置。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
开始新的实验

测试选项

实验者用合理的默认值为你配置测试选项。实验配置为使用 10 倍的交叉验证。这是一个“分类”类型的问题,每个算法+数据集组合运行 10 次(迭代控制)。

鸢尾花数据集

让我们从选择数据集开始。

  1. 数据集 中选择点击【添加新…】按钮。
  2. 打开 数据 目录,选择 鸢尾 数据集。

鸢尾花数据集是一个著名的统计数据集,被机器学习领域的研究人员大量借用。它包含 150 个实例(行)和 4 个属性(列)以及一个鸢尾花物种的类属性(刚毛藻、云芝、弗吉尼亚之一)。你可以在维基百科上阅读更多关于鸢尾花数据集的信息。

让我们选择 3 种算法来运行我们的数据集。

零号

  1. 点击“算法”部分的“ ”添加新的……”。
  2. 点击 选择 按钮。
  3. 点击“ ”下的 ZeroR规则 ”选择。

ZeroR 是我们能运行的最简单的算法。它选择数据集中占大多数的类值,并为所有预测给出该值。假设所有三个类值具有相等的份额(50 个实例),它选择第一个类值“setosa”,并将其作为所有预测的答案。不出所料,我们知道 ZeroR 能给出的最好结果是 33.33% (50/150)。这是一个很好的基线,我们要求算法的表现超过它。

无比的人

  1. 点击“算法”部分的“ ”添加新的……”。
  2. 点击 选择 按钮。
  3. 点击“ OneR ”下的“ 规则 ”选择。

OneR 就像是我们第二简单的算法。它选择一个与类值最相关的属性,并将其拆分,以获得最佳的预测准确率。像 ZeroR 算法一样,该算法非常简单,您可以手动实现它,我们希望更复杂的算法能够执行它。

J48

  1. 点击“算法”部分的“ ”添加新的……”。
  2. 点击 选择 按钮。
  3. 点击 J48 下的 树木 选择。

J48 是决策树算法。它是 C4.8 算法在 Java 中的实现(“J”代表 Java,48 代表 C4.8)。C4.8 算法是著名的 C4.5 算法的一个小扩展,是一个非常强大的预测算法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
配置实验

我们准备进行实验。

4.运行实验

单击屏幕顶部的“”选项卡。

**该选项卡是运行当前配置实验的控制面板。

点击大的“ 【开始】 ”按钮开始实验,观看“日志”和“状态”部分,关注实验进展。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
运行实验

假设数据集很小,算法很快,实验应该在几秒钟内完成。

5.查看结果

单击屏幕顶部的“”选项卡。

**这将打开实验结果分析面板。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
加载实验结果

点击 来源 部分中的 实验 按钮,加载当前实验的结果。

算法等级

我们首先想知道的是哪种算法是最好的。我们可以通过给定算法击败其他算法的次数来对算法进行排名。

  1. 点击“ ”选择 ”按钮为“ 【测试基地】 ”并选择“ 【排名】 ”。
  2. 现在点击 执行测试 按钮。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
对实验结果中的算法进行排序

排名表显示了每种算法相对于数据集中所有其他算法的统计显著获胜次数。一次胜利意味着比另一种算法的准确率更高的准确率,并且差异具有统计学意义。

我们可以看到,J48 和 OneR 都各有一胜,ZeroR 有两负。这很好,这意味着 OneR 和 J48 都是潜在的竞争者,其表现超过了 ZeroR 的基线。

算法准确率

接下来我们想知道算法取得了什么表现。

  1. 单击“ ”选择“ ”按钮选择“ 【测试基地】 ”并在列表中选择“【ZeroR】”算法,然后单击“ ”选择 ”按钮。
  2. 单击“ 【显示标准】旁边的复选框。偏差 ”。
  3. 现在点击 执行测试 按钮。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
算法准确率与零相比

在“测试输出”中,我们可以看到一个包含 3 种算法结果的表格。每个算法在数据集上运行 10 次,报告的准确率是这 10 次运行的平均值和标准差。

我们可以看到 OneR 和 J48 算法的结果旁边都有一个小“v”。这意味着这些算法的准确率与 ZeroR 相比有显著的统计学差异。我们还可以看到,与 ZeroR 相比,这些算法的准确性很高,因此我们可以说,这两种算法在统计上取得了明显优于 ZeroR 基线的结果。

J48 的分数高于 OneR 的分数,所以接下来我们想看看这两个准确度分数之间的差异是否显著。

  1. 点击 【测试基地】选择 按钮,在列表中选择 J48 算法,点击 选择 按钮。
  2. 现在点击 执行测试 按钮。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 实验者
算法准确率对比 J48

我们可以看到,ZeroR 的结果旁边有一个“”,这表明它的结果与 J48 相比在统计上有所不同。但我们已经知道了。我们在 OneR 算法的结果旁边看不到“”。这告诉我们,尽管 J48 和 OneR 之间的平均准确率不同,但差异在统计上并不显著。

在所有条件相同的情况下,我们会选择 OneR 算法来预测这个问题,因为它是两种算法中较简单的一种。

如果我们想要报告结果,我们会说 OneR 算法实现了 92.53% (+/- 5.47%)的分类准确率,这在统计上显著优于 ZeroR,为 33.33% (+/- 5.47%)。

摘要

您发现了如何在 Weka 中用一个数据集和三个算法配置机器学习实验。您还学习了如何分析实验结果,以及解释结果时统计意义的重要性。

现在,您有能力在自己选择的数据集上使用 Weka 提供的任何算法设计和运行实验,并有意义和自信地报告您获得的结果。****

如何下载安装 Weka 机器学习工作台

原文:https://machinelearningmastery.com/download-install-weka-machine-learning-workbench/

最后更新于 2020 年 12 月 10 日

Weka 机器学习工作台是一个功能强大但易于使用的预测建模平台。

在这篇文章中,你将发现如何在你的工作站上快速安装 Weka,并开始机器学习。

看完这篇文章你会知道:

  • 如何为 Windows 或 Mac 安装 Weka 的一体机版本?
  • 如何在 Windows 或 Mac 上分别安装 Java 和 Weka?
  • 如何在 Linux 等平台安装 Weka?

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何下载和安装 Weka 机器学习工作台
图片由尼古拉斯 a .托内利提供,版权所有。

下载 Weka

所有版本的 Weka 都可以从Weka 下载网页下载。

选择您想要安装的 Weka 版本,然后访问 Weka 下载页面,找到并下载您喜欢的 Weka 版本。

您的选择包括:

  • 为 Windows 或 Mac OS X 安装 Weka 的一体机版本。
  • 分别为 Windows 或 Mac OS X 安装 Java 和 Weka。
  • 为 Linux 和其他平台安装独立版本的 Weka。

安装 Weka 的一体化版本

Weka 为 Windows 和 Mac OS X 提供了一体化的安装版本。

该安装包括可用于预测建模的 Weka 平台,以及运行 Weka 平台所需的 Java 版本。

Windows 操作系统

在 windows 上,Weka 的一体化版本是作为自解压可执行文件提供的。

您必须选择是喜欢 32 位版本的软件包还是 64 位版本的软件包。如果您有现代版本的 Windows,您应该选择 64 位版本。

在 Weka 下载网页上,这些软件包被称为:

  • 64 位窗口的自解压可执行文件,包括甲骨文的 64 位 Java。
  • 32 位窗口的自解压可执行文件,包括甲骨文的 32 位 Java。

下载量约为 100 兆字节。下载软件包后,双击图标开始安装过程。

按照提示进行安装,Weka 将被添加到您的程序菜单中。

点击小鸟图标开始 Weka。

Mac OS X

在 OS X,Weka 的一体化版本以磁盘映像的形式提供。

在 Weka 下载网页上,该软件包被称为:

  • OS X 的磁盘映像,包含一个苹果应用程序,包括甲骨文的 Java。

下载量约为 120 兆字节。磁盘映像包括两个版本的 Weka,一个捆绑了 Java 版本,另一个是独立版本。我建议两者都安装。

将文件夹和图标拖到应用程序文件夹中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OS X 的扩展 Weka 磁盘映像

点击小鸟图标开始 Weka。

分别安装 Java 和 Weka

您可能已经在工作站上安装了 Java 运行时环境或 Java 开发工具包,或者您可能希望将 Java 与 Weka 分开安装,以便您可以将 Java 与其他应用程序一起使用。

Weka 提供了一个不包含 Java 运行时环境的版本,您可以下载。

如果您想访问 Weka 安装提供的数据文件和文档,我建议您安装 Weka。

Weka 要求至少安装 Java 1.7。

如果您没有安装 Java,想从 Weka 单独安装 Java,可以从 Java 下载网页下载 Java。该网页将自动确定您的工作站所需的 Java 版本,并下载最新版本。Java 下载量约为 60 兆字节。

Windows 操作系统

Weka 为 Windows 提供了一个不包含 Java 的版本。

您必须选择是喜欢 32 位版本的软件包还是 64 位版本的软件包。如果您有现代版本的 Windows,您应该选择 64 位版本。

在 Weka 下载页面上,该版本的名称如下:

  • 无需 Java 虚拟机的 64 位窗口自解压可执行文件。
  • 无需 Java 虚拟机的 32 位 Windows 自解压可执行文件。

下载量约为 50 兆字节。下载软件包后,双击开始安装过程。按照提示进行安装,Weka 将被添加到您的程序菜单中。

点击小鸟图标开始 Weka。

Mac OS X

操作系统 x 只有一个下载版本的 Weka。

它是一个磁盘映像,包括与 Java 捆绑的 Weka 版本以及独立版本。

在 Weka 下载网页上,该软件包被称为:

  • OS X 的磁盘映像,包含一个苹果应用程序,包括甲骨文的 Java。

下载量约为 120 兆字节。打开磁盘映像,将独立版本的 Weka(文件夹)拖到应用程序文件夹中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 安装目录

双击 weka.jar 文件启动 Weka。

假设 Java 在您的路径中,您也可以在命令行上启动 Weka。

1.将目录更改为您的 weka 安装目录。例如

cd /Applications/weka-3-8-0

2.用 weka.jar 文件启动 Java 虚拟机。例如:

java -jar weka.jar

在 Linux 和其他平台上安装 Weka

Weka 还提供了一个独立版本,您可以在 Linux 和其他平台上安装。

Weka 运行在 Java 上,可以在所有支持 Java 的平台上使用。

它是一个 zip 文件,具有以下 Weka 下载网页的名称:

  • 包含 Weka 的 Zip 存档。

下载 zip 文件并解压缩。

假设 Java 在您的路径中,您也可以在命令行上启动 Weka。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 安装文件

1.将目录更改为您的 Weka 安装目录。例如

cd /Applications/weka-3-8-0

2.用 weka 启动 Java 虚拟机。 jar 文件,例如:

java -jar weka.jar

摘要

在这篇文章中,你发现了如何下载和安装 Weka 机器学习工作台。

具体来说,您了解到:

  • 如何在 Windows 和 Mac OS X 上使用一体机版本安装 Weka?
  • 如何在 Windows 和 Mac OS X 上使用独立版本安装 Weka
  • 如何在 Linux 和其他平台上使用独立版本安装 Weka。

关于下载安装 Weka 或者这个帖子有什么问题吗?在下面的评论中提问,我会尽力回答。

如何在 Weka 中评估机器学习模型的基线表现

原文:https://machinelearningmastery.com/estimate-baseline-performance-machine-learning-models-weka/

最后更新于 2020 年 12 月 10 日

有一个机器学习问题的表现基线真的很重要。

它会给你一个参考点,你可以用来比较你构建的所有其他模型。

在这篇文章中,您将发现如何使用 Weka 为机器学习问题开发表现基线。

看完这篇文章你会知道:

  • 为机器学习问题建立表现基线的重要性。
  • 如何在回归问题上使用零规则方法计算基线表现。
  • 如何在分类问题上使用零规则方法计算基线表现。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何在 Weka 中评估机器学习模型的基线表现彼得·史蒂文斯摄,版权所有。

基线结果的重要性

在手之前,你无法知道哪种算法对你的问题表现最好,所以你必须尝试一套算法,看看哪种算法效果最好,然后加倍努力。

因此,在处理机器学习问题时,开发一个表现基线是至关重要的。

基线为比较其他机器学习算法提供了一个参考点。

您可以了解在基线上可以实现的绝对表现提升,以及相对来说显示您做得有多好的升力比。

没有底线,你就不知道你在问题上做得有多好。你没有参考点来考虑你是否已经或正在继续增加价值。基线定义了所有其他机器学习算法必须跨越的障碍,以展示对问题的“技能”。

基线表现的零规则

分类和回归问题的基线称为零规则算法。也称为零或 0-R。

让我们通过一些例子来仔细看看零规则算法如何用于分类和回归问题。

回归问题的基线表现

对于预测数值的回归预测建模问题,零规则算法预测训练数据集的平均值。

例如,让我们在波士顿房价预测问题上演示零规则算法。您可以从Weka 数据集网页下载 ARFF 的波士顿房价预测数据集。它位于文件 housing.arff 中的数据集-numeric.jar 包中。

  1. 启动 Weka 图形用户界面选择器。
  2. 点击“浏览器”按钮,打开 Weka 浏览器界面。
  3. 加载波士顿房价数据集 housing.arff 文件。
  4. 单击“分类”选项卡打开分类选项卡。
  5. 选择 ZeroR 算法(默认情况下应选择该算法)。
  6. 选择“交叉验证”测试选项(应默认选择)。
  7. 单击“开始”按钮评估数据集上的算法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

回归问题的 Weka 基线表现

ZeroR 算法预测平均波士顿房价为 22.5(以千美元计),RMSE 为 9.21。

任何机器学习算法要证明它在这个问题上有技巧,它必须达到比这个值更好的 RMSE。

分类问题的基线表现

对于预测分类值的分类预测建模问题,零规则算法预测训练数据集中观察值最多的类值。

例如,让我们演示关于皮马印第安人糖尿病发病问题的零规则算法。该数据集应位于您的 Weka 安装的数据/ 目录中。如果没有,可以从 Weka 下载网页下载默认的 Weka 安装,目标是扩展名为. zip 的“其他平台”,解压后找到 diabetes.arff 文件。

  1. 启动 Weka 图形用户界面选择器。
  2. 点击“浏览器”按钮,打开 Weka 浏览器界面。
  3. 加载皮马印第安人数据集 diabetes.arff 文件。
  4. 单击“分类”选项卡打开分类选项卡。
  5. 选择 ZeroR 算法(默认情况下应选择该算法)。
  6. 选择“交叉验证”测试选项(应默认选择)。
  7. 单击“开始”按钮评估数据集上的算法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

分类问题的基线表现

ZeroR 算法预测所有实例的 tested_negative 值,因为它是多数类,并且达到 65.1%的准确率。

任何机器学习算法要证明它在这个问题上有技巧,它必须达到比这个值更好的准确率。

摘要

在这篇文章中,您已经发现了如何使用 Weka 计算机器学习问题的基线表现。

具体来说,您了解到:

  • 计算问题表现基线的重要性。
  • 如何使用零规则算法计算回归问题的基线表现。
  • 如何使用零规则算法计算分类问题的基线表现。

你对计算绩效基线或这篇文章有什么问题吗?在评论中提出你的问题,我会尽力回答。

如何在 Weka 中估计机器学习算法的表现

原文:https://machinelearningmastery.com/estimate-performance-machine-learning-algorithms-weka/

最后更新于 2019 年 8 月 22 日

预测建模的问题是创建具有良好表现的模型,对新的未知数据进行预测。

因此,使用稳健的技术根据可用的训练数据来训练和评估模型是至关重要的。对模型表现的估计越可靠,您就可以进一步推动表现,并确信它会转化为模型的操作使用。

在这篇文章中,你将发现各种不同的方法,你可以估计你的机器学习模型在 Weka 的表现。

看完这篇文章你会知道:

  • 如何使用训练数据集评估模型。
  • 如何使用随机训练和测试分割来评估您的模型?
  • 如何使用 k-fold 交叉验证评估您的模型?

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何评估 Weka
中机器学习算法的表现图片作者: Will Fisher ,版权所有。

模型评估技术

有许多模型评估技术可供您选择,Weka 机器学习工作台提供了其中四种,如下所示:

训练数据集

在整个训练数据集上准备模型,然后在同一数据集上评估模型。这通常是有问题的,尤其是因为一个完美的算法可以通过简单地记忆(存储)所有的训练模式来玩这个评估技术,并获得一个完美的分数,这将是误导。

提供的测试集

使用另一个程序手动拆分数据集。在整个训练数据集上准备您的模型,并使用单独的测试集来评估模型的表现。如果您有一个大数据集(成千上万个实例),这是一个很好的方法。

百分比分割

每次评估模型时,随机将数据集分为训练分区和测试分区。这可以给你一个非常快速的表现评估,就像使用一个提供的测试集一样,只有当你有一个大的数据集时才更好。

交互效度分析

将数据集分割成 k 个分区或折叠。在除了作为测试集的分区之外的所有分区上训练一个模型,然后重复这个过程创建 k 个不同的模型,并给每个折叠一个作为测试集的机会。然后计算所有 k 个模型的平均表现。这是评估模型表现的黄金标准,但却有创建更多模型的代价。

加载数据集后,您可以在“分类”选项卡上的 Weka 资源管理器中看到这些技术。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 算法评估测试选项

使用哪个测试选项

鉴于有四种不同的测试选项可供选择,您应该使用哪一种?

每个测试选项都有时间和地点,总结如下:

  • 训练数据集:仅当您拥有所有数据并且您有兴趣创建描述性模型而不是预测性模型时使用。因为你有所有的数据,你不需要做出新的预测。您有兴趣创建一个模型来更好地理解问题。
  • 提供的测试集:当数据非常大,例如数百万条记录,并且您不需要全部数据来训练模型时。当测试集已由第三方定义时也很有用。
  • 百分比分割:非常适合用来快速了解模型的表现。除非您有非常大的数据集,并且确信(例如,您已经测试过)分割足以描述问题,否则不要用于决策。对于训练集和测试集,常见的分割值分别为 66%到 34%。
  • 交叉验证:默认。在你不确定的时候使用。通常提供比其他技术更准确的表现估计。当你有非常大的数据时不要使用。k 的常用值是 5 和 10,这取决于数据集的大小。

如果有疑问,使用 k 倍交叉验证,其中 k 设置为 10。

最终模型怎么样

测试选项与根据看不见的数据评估模型的表现有关。

这是一个需要内化的重要概念。预测建模的目标是创建一个在我们不完全理解的情况下表现最好的模型,未来有新的未知数据。在这种情况下,我们必须使用这些强大的统计技术来最好地估计模型的表现。

话虽如此,一旦我们选择了一个模式,就必须最终确定下来。这些测试选项都不用于此目的。

模型必须在整个训练数据集上训练并保存。模型最终确定的主题超出了本文的范围。

请注意,最终模型的表现不需要计算,它是使用上面讨论的测试选项技术来估计的。

绩效总结

当您评估模型时,会在 Weka 中提供表现摘要。

在“分类”选项卡中,单击“开始”按钮评估计法后,结果将显示在“分类器输出”窗格中。

该窗格包含许多信息,包括:

  • 运行信息,如算法及其配置、数据集及其属性以及测试选项
  • 构建模型的细节,如果有的话。
  • 绩效总结包括许多不同的衡量标准。

分类绩效总结

在分类问题上评估机器学习算法时,您会得到大量的表现信息需要消化。

这是因为分类可能是预测建模问题中研究最多的类型,并且有很多不同的方法来考虑分类算法的表现。

分类算法的表现总结中有三点需要注意:

  1. 分类准确率。这是所有预测中正确预测数量的比率,通常以百分比表示,其中 100%是算法能够达到的最佳值。如果你的数据中有不平衡的类,你可能需要查看 Kappa 度量,它提供了考虑类平衡的相同信息。
  2. 准确率等级。注意每个类别的预测的真阳性和假阳性率,这对于问题的分类是不均匀的或者有两个以上的类别是有指导意义的。如果预测一个类比预测另一个类更重要,这可以帮助你解释结果。
  3. 【混乱矩阵】 。显示每个类的预测数与实际属于每个类的实例数的对比表。这对于概述算法所犯的错误类型非常有用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 分类表现总结

回归表现总结

当在回归问题上评估机器学习算法时,会给你一些不同的表现度量来回顾。

值得注意的是,回归算法的表现总结有两点:

  1. 相关系数。这就是预测与实际产值的关联或变化程度。值 0 是最差的,值 1 是完全相关的一组预测。
  2. 均方根误差。这是以输出变量为单位的测试集的平均误差量。这个标准帮助你了解一个给定的预测平均可能是错误的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 回归表现总结

摘要

在这篇文章中,你发现了如何根据 Weka 中看不见的数据来评估机器学习模型的表现。

具体来说,您了解到:

  • 关于机器学习模型对未知数据的表现评估作为预测建模的核心问题的重要性。
  • 关于 4 个不同的测试选项以及何时使用每个选项,特别注意训练和测试拆分和 k-fold 交叉验证。
  • 关于分类和回归问题的表现总结以及需要注意的指标。

你对 Weka 中的模型表现估计或这篇文章有什么问题吗?在评论中提出你的问题,我会尽力回答。

用于提高准确率和减少训练时间的特征选择

原文:https://machinelearningmastery.com/feature-selection-to-improve-accuracy-and-decrease-training-time/

最后更新于 2020 年 8 月 16 日

处理问题时,您总是希望从现有数据中获得最大收益。你想要最好的精确度。

通常,最大的胜利是更好地理解你正在解决的问题。这就是为什么我强调你要花这么多时间提前定义你的问题分析数据为你的模型准备数据集

数据准备的一个关键部分是创建数据集的转换,例如重新缩放的属性值和分解为其组成部分的属性,所有这些都是为了向建模算法展示更多有用的结构。

准备数据集时要使用的一套重要方法是自动特征选择算法。在这篇文章中,你将发现特征选择,简单特征选择的好处,以及如何在数据集上最好地利用 Weka 中的这些算法。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在数据集
中仔细选择要素加布照片,保留部分权利

并非所有属性都相等

无论您是自己选择和收集样本数据,还是由领域专家提供给您,属性的选择都至关重要。这很重要,因为这意味着成功地和有意义地建模问题之间的区别。

引入歧途的

包含冗余属性可能会误导建模算法。基于实例的方法,如 k 最近邻,使用属性空间中的小邻域来确定分类和回归预测。这些预测可能会被冗余属性严重偏斜。

过拟合

在数据集中保留不相关的属性会导致过拟合。像 C4.5 这样的决策树算法寻求在属性值上做出最优选择。那些与预测更相关的属性首先被拆分。在树的更深处,不太相关和不相关的属性被用来做出预测决策,这些决策可能只是偶然有益于训练数据集中。训练数据的这种过拟合会对该方法的建模能力产生负面影响,并削弱预测准确率。

在评估计法之前,从数据集中移除冗余和不相关的属性非常重要。这个任务应该在应用机器学习过程的准备数据步骤中处理。

特征选择

特征选择或属性选择是一个过程,通过该过程,您可以在数据集中自动搜索属性的最佳子集。“最好”的概念是相对于你试图解决的问题而言的,但通常意味着最高的准确性。

思考选择属性问题的一个有用方法是状态空间搜索。搜索空间是离散的,由您可以从数据集中选择的所有可能的属性组合组成。目标是在搜索空间中导航,找到最佳或足够好的组合,从而提高选择所有属性的表现。

对数据执行特征选择的三个主要好处是:

  • 减少过拟合:冗余数据越少,基于噪声做出决策的机会就越少。
  • 提高准确率:误导数据少意味着建模准确率提高。
  • 减少训练时间:数据少意味着算法训练更快。

Weka 中的属性选择

Weka 提供了一个属性选择工具。该过程分为两个部分:

  • 属性评估器:评估属性子集的方法。
  • 搜索方法:搜索可能子集空间的方法。

属性求值器

属性评估器是评估属性子集的方法。例如,可以通过建立模型和评估模型的准确性来评估它们。

属性评估方法的一些示例有:

  • cfssbsteval:与类值高度相关而彼此相关性较低的值子集。
  • 分类子集评估:使用预测算法和您指定的另一个数据集评估子集。
  • wrappsurbsteval:使用您指定的分类器和 n 倍交叉验证来评估子集。

搜索方法

搜索方法是一种结构化的方法,在这种方法中,基于子集评估来导航可能属性子集的搜索空间。基线方法包括随机搜索和穷举搜索,尽管图形搜索算法很流行,如最佳第一搜索。

属性评估方法的一些示例有:

  • 穷举:测试所有属性组合。
  • 最佳优先:使用最佳优先搜索策略导航属性子集。
  • greeddyspewise:使用前向(加法)或后向(减法)步进策略来导航属性子集。

如何在 Weka 中使用属性选择

在这一节中,我想和大家分享三种在 Weka 中使用属性选择的聪明方法。

1.探索属性选择

当你只是陈述属性选择的时候,我推荐使用一些 Weka 浏览器中的方法。

加载数据集,然后单击“选择属性”选项卡。在数据集上尝试不同的属性赋值器和搜索方法,并在输出窗口中查看结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 浏览器中的功能选择方法

这个想法是为了获得一种感觉,并建立一种直觉,知道 1)为你的问题选择了多少和 2)哪些属性。您可以将这些信息用于接下来的一个或两个步骤。

2.准备带有属性选择的数据

下一步将使用属性选择作为数据准备步骤的一部分。

预处理数据集时可以使用一个过滤器,该过滤器将运行属性选择方案,然后将数据集修剪为仅包含选定的属性。在无监督属性过滤器下,该过滤器被称为“属性选择”。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 Weka 中使用要素选择方法创建数据集的转换

然后,您可以保存数据集,以便在抽查算法时在实验中使用。

3.使用属性选择运行算法

最后,还有一个更聪明的方法可以合并属性选择,那就是直接将其与算法合并。

有一个元算法,你可以运行,并包括在实验中,选择运行算法的属性。该算法被称为“元”算法组下的“属性选择分类器”。您可以将此算法配置为使用您选择的算法以及您选择的属性评估器和搜索方法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 元算法中分类器和属性选择的耦合

您可以包含该元算法的多个版本,这些版本配置有属性选择方案的不同变体和配置,并查看它们之间的比较情况。

摘要

在这篇文章中,你发现特征选择是一套可以提高模型准确率、减少模型训练时间和减少过拟合的方法。

您还发现 Weka 内置了特征选择方法,并在 Weka 中学习了在数据集上使用特征选择方法的三种巧妙方法,即探索、准备数据以及在元分类器中将其与算法耦合。

维基百科在特征选择上有一个很好的条目。

如果你正在寻找下一步,我推荐书特征提取:基础与应用。这是一个由学者撰写的文章集,涵盖了与功能选择相关的一系列问题。它很贵,但是很值得,因为它在解决你的问题上有不同的方法。

有关 Weka 功能选择的最新观点,请参见帖子:

另一本书你可能会发现有用(在 kindle 上更便宜)是特征选择的计算方法

如何获得更多 Weka 机器学习工作台的帮助

原文:https://machinelearningmastery.com/help-with-weka/

最后更新于 2020 年 12 月 10 日

Weka 机器学习工作台是一个易于使用且功能强大的应用机器学习平台。

即使它很容易使用,当你在自己的问题上使用它时,你可能仍然需要一些帮助或建议。

在这篇文章中,你会发现一些资源,你可以用它们来获得更多关于 Weka 的帮助。

看完这篇文章你会知道:

  • 关于工作站上安装的 Weka 文档。
  • 您可以参考的在线资源,以获得有关您对 Weka 的技术问题的帮助。
  • 在那里你可以问自己关于 Weka 的未回答的问题。

用我的新书用 Weka 启动你的项目,包括的分步教程和清晰的截图所有示例。

我们开始吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如何获得更多帮助 Weka 机器学习工作台
图片由苏珊·尼尔森提供,版权所有。

Weka 离线文档

您安装的 Weka 提供了文档,您可以参考这些文档来了解有关如何使用该平台的更简单的问题。

您的安装目录包含一个名为documentation.html的 HTML 文件,该文件链接到您的安装所提供的所有文档,包括:

  • Weka 用户手册。
  • Weka API 文档。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka 文件

微卡手册

Weka 手册提供了如何使用 Weka 软件的信息。

这包括:

  • 如何使用 Weka 命令行界面?
  • 如何使用 Weka 图形用户界面?
  • 关于 Weka 数据文件格式。
  • 和附加技术文档。

文档非常好,如果您对 Weka 软件的使用有疑问,这是您应该首先检查的地方。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

微卡手册

Weka Java 应用编程接口文档

这是 Java 应用程序编程接口的文档。

它是为希望编写利用 Weka Java 接口的程序的开发人员准备的。

文档的结构和风格对于 Java 程序员来说是熟悉的,因为它使用标准的 Javadoc 格式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weka Java 应用程序编程接口文档

Weka 在线文档

Weka 提供了一些在线文档来源,包括:

  • 设置周
  • Weka 邮件列表
  • 其他官方资源

设置周

Weka 维基提供了关于一系列 Weka 主题的实用文章。

以下是一些 wiki 页面,如果您想解决某个特定问题,这些页面可能会很有价值:

有很多维基页面,使用搜索功能来定位特定主题的页面。

Weka 邮件列表

Weka 邮件列表是一个可以加入与核心 Weka 社区互动的邮件列表。

这既包括回答关于 Weka 的技术问题,也包括获得您自己的技术问题的答案。

一般来说,电子邮件列表是有礼节的,尤其是在这个电子邮件列表上。这种礼仪的很大一部分是检查你的问题以前是否被问过和回答过。您可以通过使用搜索功能查看 Weka 电子邮件列表档案来做到这一点。档案很丰富,我建议花些时间通读历史。

其他官方资源

您可能会发现有用的其他在线资源包括:

堆栈溢出

stackoverflow 网站是一个面向开发者的技术问答社区。

就像 Weka 邮件列表一样,检查你的问题之前是否已经被问过和回答过是一种很好的礼仪。阅读给定问答页面时,使用搜索功能并密切关注页面右侧的“相关”帖子。

关于 Weka 的问题都标有“Weka”关键词。通过此标签过滤问题,您可以查看所有与 Weka 相关的问题

摘要

在这篇文章中,你发现了可以用来帮助 Weka 的资源。

你学会了:

  • 您的 Weka 安装包括一个手册,其中包含关于如何使用 Weka 界面的更多信息。
  • Weka Wiki 是关于如何使用 Weka 的其他技术问题的首选。
  • 邮件列表和堆栈溢出是在 Weka 上询问未回答的技术问题的好地方。

关于获得更多关于 Weka 或这篇文章的帮助,你有什么问题吗?在下面的评论中提问,我会尽力回答。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值