当你开始使用 Weka 时,你可能会感到不知所措。
可供选择的数据集、过滤器和算法太多了。
选择太多了。你可以做的事情太多了。

选择过多
照片作者:emilio labrador,保留部分权利。
结构化的流程是关键。
我曾谈论过流程以及诸如算法抽样检查等任务的必要性,以克服不知所措并开始了解有关你问题有用信息。在这篇文章中,我想给你一个简化的流程版本,你可以用它来练习应用机器学习。
通过我的新书《Weka 机器学习精通》,开始你的项目,书中包含分步教程和所有示例的清晰截图。
问题解决模板
此模板是一个简化的流程,侧重于了解问题、找到一个好的解决方案,并且能够非常快速地完成。
它分为应用机器学习的六个步骤。每个步骤都分解为具体的要回答的问题,你可以通过使用Weka Explorer 和 Weka Experimenter 图形用户界面来回答。
流程的六个步骤及其目标如下:
- 问题定义
- 数据分析
- 数据准备
- 评估算法
- 4. 改进结果
- 5. 呈现结果
在接下来的部分中,我将总结流程每个步骤的关键问题。你可以打印出这些问题,或者将它们复制到一个文档中,创建你自己的模板文档。
在Weka机器学习方面需要更多帮助吗?
参加我为期14天的免费电子邮件课程,逐步探索如何使用该平台。
点击注册,同时获得该课程的免费PDF电子书版本。
1. 问题定义
问题定义的目的是理解并清楚地描述正在解决的问题。
问题描述
- 问题的非正式描述是什么?
- 问题的正式描述是什么?
- 你对这个问题有哪些假设?
提供的_数据_
- 选择数据时施加了哪些约束?
- 定义所提供数据集中的每个属性。
2. 数据分析
数据分析的目的是了解可用于开发模型的信息。
- 属性是什么数据类型?
- 是否存在缺失或损坏的值?
- 回顾属性的分布,你注意到什么?
- 回顾类别值的分布,你注意到什么?
- 通过直方图回顾具有类别值的属性分布,你注意到什么?
- 回顾属性的成对散点图,你注意到什么?
3. 数据准备
数据准备的目的是发现并揭示数据集中的结构。
- 标准化数据集
- 标准化数据集
- 平方数据集
- 离散化属性(如果是整数)
- 删除和/或替换缺失值(如果存在)
- 创建数据集的转换,以检验在问题定义中提出的假设
4. 评估算法
评估算法的目的是开发一个测试平台和基线准确性,以供改进。
- 探索不同的分类算法
- 设计并运行一个抽样检查实验
- 审查和解释算法排名
- 审查和解释算法准确性
- 根据需要重复流程
5. 改进结果
改进结果的目的是利用结果开发更准确的模型。
算法调优
- 探索不同的算法配置
- 设计并运行一个算法调优实验
- 审查和解释算法排名
- 审查和解释算法准确性
- 根据需要重复流程
集成方法
- 探索不同的集成方法
- 设计并运行一个算法集成实验
- 审查和解释集成排名
- 审查和解释集成准确性
- 根据需要重复流程
- 能否通过其他元算法(例如阈值处理)来改进结果?
- 能否通过使用与表现良好的算法属于同一族的算法来改进结果?
6. 呈现结果
呈现结果的目的是描述问题和解决方案,以便第三方能够理解。
完成以下部分,以总结问题和解决方案。
- 问题是什么?
- 解决方案是什么?
- 有哪些发现?
- 有哪些局限性?
- 有哪些结论?
如何使用
Weka 安装的“data”目录中有许多有趣的数据集。在 UCI 机器学习存储库 上也有许多你可以下载和处理的数据集。
选择一个问题,并使用此模板来解决它。你会惊讶于自己学到了多少东西,以及这样一个结构化的流程可以在多大程度上帮助你保持专注。
总结
在这篇文章中,你了解了一个用于处理应用机器学习流程的结构化模板。此模板可以打印出来,并按步骤使用,以解决 Weka 机器学习工作台中的问题。
回答模板中每个步骤的具体问题,将能快速建立对问题和你解决方案的更深层次的理解,因为它们会逐渐展开。这非常有价值,就像实验室里的科学家笔记本一样。
很好且有用的流程,Jason。谢谢分享。
谢谢。