使用Weka快速实践机器学习算法

简介: 【译者注】在当下人工智能火爆发展的局面,每时每刻都有新的技术在诞生,但如果你是一个新手,Weka或许能帮助你直观、快速的感受机器学习带来的解决问题的新思路。 Weka使机器学习的应用变得简单、高效并且充满乐趣。
【译者注】在当下人工智能火爆发展的局面,每时每刻都有新的技术在诞生,但如果你是一个新手,Weka或许能帮助你直观、快速的感受机器学习带来的解决问题的新思路。
Weka使机器学习的应用变得简单、高效并且充满乐趣。它拥有图形界面,并且允许你加载自己的数据集,运行算法并且产生足够可靠、让人信服的结果。
我把Weka推荐给机器学习的新手,因为它帮助我们把精力集中在机器学习应用的本身,而不是陷入数学和编程的泥潭。这些技能可以在后续的学习中逐渐掌握。
本文将一步步告诉你如何加载数据集,运行高级的分类算法并且展示分类结果,这看起来很简单。跟随我的操作,你会在5分钟内得到机器学习的结果,并且你可以使用这个方法常识更多的数据集和算法。

1. 下载并安装Weka

访问Weka下载页面,根据你的系统下载合适的版本(Windows,Mac 或Linux)。
运行Weka需要Java环境,请先确认你已经安装了Java。针对Windows平台,Weka提供了集成Java的版本,这样你不需要另外单独安装Java环境。

2. 启动Weka

双击weka.jar文件,程序将启动一个Weka GUI Chooser,通过这个界面可以运行Explorer(探索模式),Experimenter(实验),KnowledgeExplorer和Simple CLI(command line interface)。
点击“Explorer”按钮启动Weka Explorer。
这个界面中,你可以加载数据集,运行分类算法。也提供了数据过滤、聚类、关联规则提取和可视化等特性,但我们并不会现在就使用这些特性。

3. 打开 data/iris.arff 数据集(Dataset)

Weka提供了一些小型公共机器学习数据集可以用来实践。
单击“Open file...”按钮从本地目录中选择 “iris.arff” 文件加载Iris(鸢尾花)数据集。
鸢尾花(Iris)数据集是一个著名的统计学资料,被机器学习研究人员大量使用。它包含了150组实例,4种生物特征和每组实例对应的鸢尾花种类(setosa,versicolor,virginica),你可以从维基百科了解到更多关于鸢尾花数据集的信息

4.选择并且运行算法

现在你已经加载了数据集,是时候选择一个机器学习算法建立问题模型并且做出预测。
单击“Classify”选项卡,在这里你可以针对加载的数据集运行处理算法。
你需要注意到“ZeroR”算法被默认选中,单击“Start”按钮运行算法。
ZeroR算法选择数据集中的主要种类(鸢尾花的三种特性在数据中等比例呈现,所以它得出的结果是第一种:setosa)并以此完成所有的预测。这是衡量其它算法正确性的基准。正如我们所期望的,结果是33%(共三种类别,每种有相同的可能性,相当于三分之一,每次预测有33%的分类准确度)。
也许你注意到了测试选项(test options)使用了10倍交叉验证。这意味着数据集会被分为10份,前九份用来训练算法,第10份用来评估算法。重复这个过程,使者10份被分割的数据集都有可能被用作测试集。你可以从这里了解更多关于交叉验证的知识
ZeroR算法虽然重要,但太让人厌烦了。
单击“Choose”按钮,在Classifier区域单击“trees”然后选择“J48”算法。这是一个C4.8算法的Java实现(J 代表Java,48代表C4.8,因此使用了J48这个名字)同时也是著名的C4.5算法的延伸。你可以从跟这里了解更多关于C4.5的知识
单击“Start”运行算法。

5. 运行结果

运行J48算法之后,你会注意到“Classifier output”区域输出的结果。
算法运行了10倍交叉验证,这意味着数据集中的每组实例都有机会用来做预测(在分成不同份之后)展现的结果,是这些预测的汇总。
首先请注意“Classification Accuracy”,可以看出算法模型达到了96%的准确度,看起来比基准值33%好太多了。
然后看“Confusion Matrix”,你可以看到真实的分类结果的表格。其中1个错误,把Iris-vsetosa分类到了Iris-versicolor,2个把Iris-virginica分类到Iris-versicolor还有3个Iris-versicolor被分类到Iris-setosa(一共6个错误)。这个表格可以帮助解释算法的准确度。

总结

本文中你使用Weka加载了第一个数据集并且运行了第一个机器学习算法(C4.8算法的一种实现)。ZeroR算法不能计算在内,它只是一个好用的判断基准。
你现在知道了使用Weka加载数据和运行算法的方法,以后可以尝试不同的算法看能得出什么结果。
如果你使用Iris数据集得到了比96%更高的准确度,可以在评论区告诉我。
目录
相关文章
|
13天前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
21天前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习中空间和时间自相关的分析:从理论基础到实践应用
空间和时间自相关是数据分析中的重要概念,揭示了现象在空间和时间维度上的相互依赖关系。本文探讨了这些概念的理论基础,并通过野火风险预测的实际案例,展示了如何利用随机森林模型捕捉时空依赖性,提高预测准确性。
34 0
机器学习中空间和时间自相关的分析:从理论基础到实践应用
|
21天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
46 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
2天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的决策树算法
【10月更文挑战第29天】本文将深入浅出地介绍决策树算法,一种在机器学习中广泛使用的分类和回归方法。我们将从基础概念出发,逐步深入到算法的实际应用,最后通过一个代码示例来直观展示如何利用决策树解决实际问题。无论你是机器学习的初学者还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和指导。
|
26天前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。
|
26天前
|
机器学习/深度学习 人工智能 Rust
MindSpore QuickStart——LSTM算法实践学习
MindSpore QuickStart——LSTM算法实践学习
39 2
|
18天前
|
机器学习/深度学习 算法 数据建模
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
21 0
|
23天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到实践
【10月更文挑战第8天】在这篇文章中,我们将一起踏上一段旅程,探索机器学习的奥秘。我们首先会了解机器学习的基本概念,然后深入其理论基础,最后通过代码示例,将理论应用于实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
42 0
|
23天前
|
机器学习/深度学习 算法 数据处理
EM算法对人脸数据降维(机器学习作业06)
本文介绍了使用EM算法对人脸数据进行降维的机器学习作业。首先通过加载ORL人脸数据库,然后分别应用SVD_PCA、MLE_PCA及EM_PCA三种方法实现数据降维,并输出降维后的数据形状。此作业展示了不同PCA变种在人脸数据处理中的应用效果。
28 0