使用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%更高的准确度,可以在评论区告诉我。
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
|
21天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
13天前
|
机器学习/深度学习 自然语言处理 算法
|
1天前
|
机器学习/深度学习 算法 搜索推荐
Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型
Python用机器学习算法进行因果推断与增量、增益模型Uplift Modeling智能营销模型
26 12
|
29天前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
1月前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【2月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过有效的数据处理策略、合理的特征工程、选择适宜的学习算法以及进行细致的参数调优来提升模型性能。我们将剖析标准化与归一化的差异,探索主成分分析(PCA)的降维魔力,讨论支持向量机(SVM)和随机森林等算法的适用场景,并最终通过网格搜索(GridSearchCV)来实现参数的最优化。本文旨在为读者提供一条清晰的路径,以应对机器学习项目中的挑战,从而在实际应用中取得更精准的预测结果和更强的泛化能力。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法
【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法
56 0
|
1月前
|
机器学习/深度学习 存储 算法
【机器学习】包裹式特征选择之基于遗传算法的特征选择
【机器学习】包裹式特征选择之基于遗传算法的特征选择
54 0
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真