weka java 分类算法_使用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%更高的准确度,可以在评论区告诉我。

[1] How to run your first classify in Weka

[2] ZeroR算法介绍

原文作者:刘远程,转载请注明出处,个人博客:http://tenstone.me

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值