关于机器学习的Weka软件详细教程(转载)

关于机器学习的Weka软件详细教程(转载)转载自 https www cnblogs com hxsyl p 3307343 html 下载与安装 链接 https pan baidu com s 14GMxr1mss bm0bUoLNJnIw 密码 fvby 64 位 Weka 提供的功能有数据处理 特征选择 分类 回归 聚类 关联规则 可视化等 本文将对 Weka 的使用做一个简单的介绍 并通过简单的示例 使大家了解使用 weka

转载自https://www.cnblogs.com/hxsyl/p/3307343.html

下载与安装:链接:https://pan.baidu.com/s/14GMxr1mss_bm0bUoLNJnIw 密码:fvby (64位)

Weka提供的功能有数据处理,特征选择、分类、回归、聚类、关联规则、可视化等。本文将对Weka的使用做一个简单的介绍,并通过简单的示例,使大家了解使用weka的流程。本文将仅对图形界面的操作做介绍,不涉及命令行和代码层面的东西。

 

二.工具简介

关于机器学习的Weka软件详细教程(转载)0

        窗口右侧共有4个应用,分别是

  1. Explorer:用来进行数据实验、挖掘的环境,它提供了分类,聚类,关联规则,特征选择,数据可视化的功能。
  2. Experimentor:用来进行实验,对不同学习方案进行数据测试的环境。
  3. KnowledgeFlow:功能和Explorer差不多,不过提供的接口不同,用户可以使用拖拽的方式去建立实验方案。另外,它支持增量学习。
  4. SimpleCLI:简单的命令行界面。
% 
% Arff file example 
% 
@relation ‘labor-neg-data’ 
@attribute ‘duration’ real 
@attribute ‘wage-increase-first-year’ real 
@attribute ‘wage-increase-second-year’ real 
@attribute ‘wage-increase-third-year’ real 
@attribute ‘cost-of-living-adjustment’ {‘none’,'tcf’,'tc’} 
@attribute ‘working-hours’ real 
@attribute ‘pension’ {‘none’,'ret_allw’,'empl_contr’} 
@attribute ’standby-pay’ real 
@attribute ’shift-differential’ real 
@attribute ‘education-allowance’ {‘yes’,'no’} 
@attribute ’statutory-holidays’ real 
@attribute ‘vacation’ {‘below_average’,'average’,'generous’} 
@attribute ‘longterm-disability-assistance’ {‘yes’,'no’} 
@attribute ‘contribution-to-dental-plan’ {‘none’,'half’,'full’} 
@attribute ‘bereavement-assistance’ {‘yes’,'no’} 
@attribute ‘contribution-to-health-plan’ {‘none’,'half’,'full’} 
@attribute ‘class’ {‘bad’,'good’} 
@data 
1,5,?,?,?,40,?,?,2,?,11,’average’,?,?,’yes’,?,’good’ 
2,4.5,5.8,?,?,35,’ret_allw’,?,?,’yes’,11,’below_average’,?,’full’,?,’full’,'good’ 
?,?,?,?,?,38,’empl_contr’,?,5,?,11,’generous’,'yes’,'half’,'yes’,'half’,'good’ 
3,3.7,4,5,’tc’,?,?,?,?,’yes’,?,?,?,?,’yes’,?,’good’ 
3,4.5,4.5,5,?,40,?,?,?,?,12,’average’,?,’half’,'yes’,'half’,'good’ 
2,2,2.5,?,?,35,?,?,6,’yes’,12,’average’,?,?,?,?,’good’ 
3,4,5,5,’tc’,?,’empl_contr’,?,?,?,12,’generous’,'yes’,'none’,'yes’,'half’,'good’ 
3,6.9,4.8,2.3,?,40,?,?,3,?,12,’below_average’,?,?,?,?,’good’ 
2,3,7,?,?,38,?,12,25,’yes’,11,’below_average’,'yes’,'half’,'yes’,?,’good’ 
1,5.7,?,?,’none’,40,’empl_contr’,?,4,?,11,’generous’,'yes’,'full’,?,?,’good’ 
3,3.5,4,4.6,’none’,36,?,?,3,?,13,’generous’,?,?,’yes’,'full’,'good’ 
2,6.4,6.4,?,?,38,?,?,4,?,15,?,?,’full’,?,?,’good’ 
2,3.5,4,?,’none’,40,?,?,2,’no’,10,’below_average’,'no’,'half’,?,’half’,'bad’ 
  • numeric,数字类型,包括integer(整数)和real(实数)
  • nominal,可以认为是枚举类型,即特征值是有限的集合,可以是字符串或数字。
  • string,字符串类型,值可以是任意的字符串。

        从“@data”开始,是实际的数据部分。每一行代表一个实例,可以认为是一个特征向量。各个特征的顺序与头信息中的attribute逐个应,特征值之间用逗号分割。在有监督分类中,最后一列是标注的结果。某些特征的数值如果是缺失的,可以用“?”代替。

       使用weka进行数据挖掘的流程如下图:

                          weka流程图

        发现我的界面和这个不一样的,不过为了演示需要,未作改动,知道了因为区域4选择的不同在区域5显示的便不同。

 

三.数据预处理

        数据预处理:打开Explorer界面,点“open file”,在weka安装目录下,选择data目录里的“labor.arff”文件,将会看到如下界面。我们将整个区域分为7部分,下面将分别介绍每部分的功能。

1(1)1

2(2)2
        在这个界面,可以看到各行各列对应的值,右键每一列的名字(先点击列名),可以看到一些编辑数据的功能,这些功能还是比较实用的。

 

四.Filters实例

        点开Filter下面的choose按钮,可以看到如下界面

                   3
        Filters可分为两大类,supervised(监督、管理)和unsupervised。supervised下的方法需要类别标签,而unsupervised则不需要。attribute类别表示对特征做筛选,instance表示对样本做选择。

           4

         使用默认参数,点击ok,回到主窗口。在区域4选好将要归一化的特征,可以是一个或多个,然后点击apply。在可视化区域中,我们可以看到特征值从1到3被归一到了0到1之间(看区域5的最大最小值)。

            5

             6

            7

五.分类

           8

        上图给出了实验用的分类器以及具体参数,实验名称,样本数量,特征数量以及所用特征,测试模式。

               9

        再往下是预测结果,可以看到每个样本的实际分类,预测分类,是否错分,预测概率这些信息。

           11
        最下面是验证结果,整体的accuracy是73.68%,bad类准确率是60.9%,召回率70.0%,good类准确率是82.4%,召回率75.7%。
          12
        5)  可视化
        打开Explorer的Visualize面板,可以看到最上面是一个二维的图形矩阵,该矩阵的行和列均为所有的特征(包括类别标签),第i行第j列表示特征i和特征j在二维平面上的分布情况。图形上的每个点表示一个样本,不同的类别使用不同的颜色标识。下面有几个选项,PlotSize可以调整图形的大小,PointSize可以调整样本点的大小,Jitter可以调整点之间的距离,有些时候点过于集中,可以通过调整Jitter将它们分散开。








          13

          14

        这个窗口里面,十字表示分类正确的样本,方块表示分类错误的样本,X轴为实际类别,Y轴为预测类别,蓝色为实际的bad,红色为实际的good。这样,蓝色方块就表示实际为bad,但为误分为good的样本,红色方块表示实际为good,被误分为bad的样本。单击这些点,便可以看到该样本的各个特征值,分析为什么这个样本被误分了。
        再介绍一个比较实用的功能,右键点击Result list里的记录,选择Visualize threshold curve,然后选好类别(bad 还是good),可以看到如下图形。






            111

         该图给出的是分类置信度在不同阈值下,分类效果评价标准的对比情况。上图给出的是假阳性比率和真阳性比率在不同阈值下的对比,其实给出的就是ROC曲线。我们可以通过选择颜色,方便地观察不同评价标准的分布情况。如果X轴和Y轴选择的是准确率和召回率,那我们可以通过这个图,在这两个值之间做trade-off,选择一个合适的阈值。其它的一些可视化功能,不再一一介绍。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210324.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:50
下一篇 2026年3月19日 上午7:50


相关推荐

  • jquery ajax中success中的跳转问题

    jquery ajax中success中的跳转问题注意起来一个情况:ajax+submit+同步—-就是你用ajax请求服务器,而且用的是同步的方式,并且你是通过点击了type类型为submit的按钮来触发这个ajax。这个时候,首先你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.locatio…

    2022年6月13日
    51
  • fastCGI详解「建议收藏」

    fastCGI详解「建议收藏」http{#缓存路径fastcgi_cache_path/usr/local/nginx/fastcgi_cachelevels=1:2keys_zone=licache:10minact

    2022年7月4日
    26
  • realloc() 用法详解

    realloc() 用法详解原型 externvoid realloc void mem address unsignedintn 语法 指针名 数据类型 realloc 要改变内存大小的指针名 新的大小 新的大小若小于原来的大小 原数据的末尾可能丢失 被其他使用内存的数据覆盖等 头文件 include stdlib h 有些编译器需要 include malloc h 在 TC2 0 中可以使用 alloc h 头文件功能 先判断当前的指针是否 malloc h stdlib h

    2026年3月19日
    2
  • 微商分销系统哪家好,要怎么做?

    微商分销系统哪家好,要怎么做?分销模式的本质是分享经济,wemall微商分销系统将传统商品高昂的推广费用让利给消费者,并抽取一定金额作为分销商的佣金。分销模式使消费者直接与商家沟通,增加用户粘性,促成品牌的口碑转化为流量,相比与零售,分销有着无可比拟的优势,这也使越来越多的微商分销系统涌现出来。微信封杀分…

    2022年5月17日
    36
  • 腾讯元器怎么把插件导入自己的智能体

    腾讯元器怎么把插件导入自己的智能体

    2026年3月12日
    2
  • ref out param 区别

    ref out param 区别

    2022年3月8日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号