weka中实现了很多机器学习算法,不管实验室研究或者公司研发,都会或多或少的要使用weka,我的理解是weka是在本地的SparkML,SparkML是分布式的大数据处理机器学习算法,数据量不是很大的时候,使用weka可以模拟出很好的效果,决定使用哪个模型,然后再继续后续的数据挖掘工作。

  下面总结一个eclipse中调用weka的Classifier分类器代码的Demo,通过这个实例,可以进一步跟踪分类算法的原理,查看weka源码,下一节中,介绍最简单的IB1(1NN)算法源码的具体分析。

  以下是一个调用各种IB1分类器的过程,下一节介绍下IB1算法的源码分析。

package mytest;

import java.io.File;

import weka.classifiers.Classifier;
import weka.classifiers.Evaluation;
import weka.classifiers.lazy.IB1;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.ArffLoader;
//import wlsvm.WLSVM; public class SimpleClassification {//分类器     public static void main(String[] args) {
        Instances ins = null;
        Classifier cfs = null;
        try {
            File file = new File("E:\\Develop/Weka-3-6/data/contact-lenses.arff");
//            File file = new File("E:\\yuce/data.csv");
            ArffLoader loader = new ArffLoader();
            loader.setFile(file);
            ins = loader.getDataSet();             // 在使用样本之前一定要首先设置instances的classIndex,否则在使用instances对象是会抛出异常
            ins.setClassIndex(ins.numAttributes() - 1);
                         cfs = new IB1(); //            参数设置
//            String[] options=weka.core.Utils.splitOptions("-S 0 -K 2 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.0010 -P 0.1 -B 0");
//            cfs.setOptions(options);
            
            
            Instance testInst;
            Evaluation testingEvaluation = new Evaluation(ins);
            int length = ins.numInstances();
            for (int i = 0; i < length; i++) {
                testInst = ins.instance(i);
                // 通过这个方法来用每个测试样本测试分类器的效果
                double predictValue = testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs,
                        testInst);
                
                System.out.println(testInst.classValue()+"--"+predictValue);
            }             System.out.println("分类器的正确率:" + (1 - testingEvaluation.errorRate()));         } catch (Exception e) {
            e.printStackTrace();
        }     } }

步骤的详细解释:

  1)arff文件中读取数据集,并解析到数据结构Instances 里。

  2) 创建一个分类器 new IB1();

  3)设置参数等操作  splitOptions  并且 设置决策属性,一般是最后一个属性: ins.setClassIndex(ins.numAttributes() - 1);

  4)创建一个评估器new Evaluation(ins)

  5)交叉验证,并输出测试样本的分类结果及评价参数。testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs, testInst);

data数据集:

@relation contact-lenses

@attribute age             {young, pre-presbyopic, presbyopic}
@attribute spectacle-prescrip {myope, hypermetrope}
@attribute astigmatism {no, yes}
@attribute tear-prod-rate {reduced, normal}
@attribute contact-lenses {soft, hard, none} @data
%
% instances
%
young,myope,no,reduced,none
young,myope,no,normal,soft
young,myope,yes,reduced,none
young,myope,yes,normal,hard
young,hypermetrope,no,reduced,none
young,hypermetrope,no,normal,soft
young,hypermetrope,yes,reduced,none
young,hypermetrope,yes,normal,hard
pre-presbyopic,myope,no,reduced,none
pre-presbyopic,myope,no,normal,soft
pre-presbyopic,myope,yes,reduced,none
pre-presbyopic,myope,yes,normal,hard
pre-presbyopic,hypermetrope,no,reduced,none
pre-presbyopic,hypermetrope,no,normal,soft
pre-presbyopic,hypermetrope,yes,reduced,none
pre-presbyopic,hypermetrope,yes,normal,none
presbyopic,myope,no,reduced,none
presbyopic,myope,no,normal,none
presbyopic,myope,yes,reduced,none
presbyopic,myope,yes,normal,hard
presbyopic,hypermetrope,no,reduced,none
presbyopic,hypermetrope,no,normal,soft
presbyopic,hypermetrope,yes,reduced,none
presbyopic,hypermetrope,yes,normal,none

data详细分析:

  1)@relation contact-lenses  是表名

  2)@attribute age {young, pre-presbyopic, presbyopic} 是属性名和属性类型

  3)@data   是数据集,一个数组的形式。

若data是cvs的格式,weka也支持,最好使用weka的tools工具转化为arff格式的数据集。

输出结果为:

aaarticlea/png;base64,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" alt="" />

转置请注明出处:http://www.cnblogs.com/rongyux/

机器学习:eclipse中调用weka的Classifier分类器代码Demo的更多相关文章

  1. 在Eclipse中调用weka包实现分类

    1.如题. 最近写了一个FCM的聚类算法,希望能够可视化结果,因此一个想法是调用weka中的包,使自己的程序可以可视化.这里参考了网络上的方法,首先实现在Eclipse中调用weka包实现分类的功能. ...

  2. Eclipse中配置weka,以及添加算法

    Eclipse中配置weka 1 找到weka的安装位置,寻找weka的压缩文件weka-src.jar,将压缩文件解压,解压出的文件夹weka-src. 2 打开Eclipse,新建Java pro ...

  3. Android中调用C++函数的一个简单Demo

    这里我不想多解释什么,对于什么JNI和NDK的相关内容大家自己去百度或谷歌.我对Android的学习也只是个新手.废话少说直接进入正题. 一.在Eclipse中创建一个Android Applicat ...

  4. Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)

    (一)Eclipse中的快捷键:  ctrl+shift+f自动整理选择的java代码 alt+/ 生成无参构造器或者提升信息 alt+shift+s+o 生成带参构造 ctrl+shift+o快速导 ...

  5. Eclipse中DTD验证导致无法进行代码提示的问题(转)

    eclipse的xml插件进行dtd验证的时候由于找不到dtd或请求主机相应超时,会出现黄色的警告 The file cannot be validated as the host "www ...

  6. eclipse 中git无法https下载提交代码

    使用eclipse下载github代码时,报错信息为cannot open git-upload-pack,如下图: 其实就是ssl协议的版本不对, 2018年2月8日后禁止通过TLSv1.1协议连接 ...

  7. 在eclipse中安装go编辑器阅读fabric代码

    参考资料 由于fabric采用go语言编写,故需要安装go环境. 安装要求: Java VM version 8 or later. Eclipse 4.6 (Neon) or later. 1. J ...

  8. eclipse中使用svn提交,更新代码。

    在新公司工作,版本管理工具变成了svn,之前一直用git作为版本管理,用的编辑IDE是IntelliJIDEA,在这个编辑器下工作,还是很方便的,但是现在使用eclipse和svn.有点不习惯,但还是 ...

  9. 在eclipse中导入weka(小白在路上)

    第一步:新建一个java工程,new->javaproject,假设工程名为wekatest 第二步:导入weka.jar 第三步:src关联 导入后有许多的.class文件,直接双击打开是看不 ...

随机推荐

  1. 关于ArrayList源码

    一.构造方法 private static final int DEFAULT_CAPACITY = 10; //空参的构造方法,初始化数组长度为默认值,默认值为10 public ArrayList ...

  2. LeetCode 1169. 查询无效交易

    题目链接:https://leetcode-cn.com/problems/invalid-transactions/ 如果出现下述两种情况,交易 可能无效: 交易金额超过 ¥1000或者,它和另一个 ...

  3. Redis专题(3):锁的基本概念到Redis分布式锁实现

    拓展阅读:Redis闲谈(1):构建知识图谱 Redis专题(2):Redis数据结构底层探秘 近来,分布式的问题被广泛提及,比如分布式事务.分布式框架.ZooKeeper.SpringCloud等等 ...

  4. Java程序语言的后门-反射机制

    在文章JAVA设计模式-动态代理(Proxy)示例及说明和JAVA设计模式-动态代理(Proxy)源码分析都提到了反射这个概念. // 通过反射机制,通知力宏做事情 method.invoke(obj ...

  5. 修改tomcat 使用的JVM的内存

    一,前言 在文章让tomcat使用指定JDK中,我让tomcat成功使用了我指定的JDK1.8,而不是环境变量中配置的JDK10.本篇文章我们就来探讨一下怎么设置tomcat使用的JVM的内存. 为什 ...

  6. select2 分组后的选项无法被选中

    在使用select2组件的过程中发现分组下的选项无法选中,与分组在同一级的选项可以被选中! 1.所用select2版本select2-4.0.32 2.HTML代码: <input id=&qu ...

  7. ELK搭建实时日志分析平台

    ELK搭建实时日志分析平台 导言 ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成,ELK平台可以同时实现日志收集.日志搜索和日志分析的功能.对于生产环境中海量日志 ...

  8. hadoop之mapreduce详解(进阶篇)

    上篇文章hadoop之mapreduce详解(基础篇)我们了解了mapreduce的执行过程和shuffle过程,本篇文章主要从mapreduce的组件和输入输出方面进行阐述. 一.mapreduce ...

  9. Spring MVC-从零开始-view-向页面传递data(ModelAndView与ModelMap的区别)

    1.ModelMap的用法 package com.jt; import org.springframework.stereotype.Controller; import org.springfra ...

  10. springmvc(三)

    Spring MVC上传 Spring MVC为文件上传提供了直接的支持,这种支持是用即插即用的MultipartResolver实现的.SpringMVC使用Apache Commons FileU ...