概观

我知道可以通过GUI和命令行选项在训练有素的WEKA模型中获得每个预测的百分比,如文档文章“Making predictions“中所方便解释和演示的那样.

预测

我知道有三种方法可以获得这些预测:

我有一个训练有素的.MODEL文件,现在我想用新的实例和预测百分比一起分类新的实例,类似于下面的预测百分比(GUI格式的输出,CSV格式):

inst#,actual,predicted,error,distribution,

1,1:0,2:1,+,0.399409,*0.7811

2,1:0,2:1,+,0.3932409,*0.8191

3,1:0,2:1,+,0.399409,*0.600591

4,1:0,2:1,+,0.139409,*0.64

5,1:0,2:1,+,0.399409,*0.600593

6,1:0,2:1,+,0.3993209,*0.600594

7,1:0,2:1,+,0.500129,*0.600594

8,1:0,2:1,+,0.399409,*0.90011

9,1:0,2:1,+,0.211409,*0.60182

10,1:0,2:1,+,0.21909,*0.11101

预测列是我想从.MODEL文件中获取的.

我知道的

根据我对WEKA API方法的经验,可以使用以下代码(插入到Evaluation对象中的PlainText)获得这些预测但是我不想进行Evaluation对象提供的k-fold交叉验证.

StringBuffer predictionSB = new StringBuffer();

Range attributesToShow = null;

Boolean outputDistributions = new Boolean(true);

PlainText predictionOutput = new PlainText();

predictionOutput.setBuffer(predictionSB);

predictionOutput.setOutputDistribution(true);

Evaluation evaluation = new Evaluation(data);

evaluation.crossValidateModel(j48Model, data, numberOfFolds,

randomNumber, predictionOutput, attributesToShow,

outputDistributions);

System.out.println(predictionOutput.getBuffer());

来自WEKA文档

请注意,.0000和“Serialization“ a.k.a中讨论了.MODEL文件对.ARFF或相关输入的数据进行分类.“如何在您自己的Java代码中使用.MODEL文件对新实例进行分类”(为什么模糊标题为smfh).

使用自己的Java代码进行分类

加载.MODEL文件是通过“反序列化”,以下是版本> 3.5.5:

// deserialize model

Classifier cls = (Classifier) weka.core.SerializationHelper.read("/some/where/j48.model");

实例对象是数据,它被提供给classifyInstance.此处提供输出(取决于结果属性的数据类型):

// classify an Instance object (testData)

cls.classifyInstance(testData.instance(0));

的Javadoc

我已经检查了Classifier的Javadocs(经过训练的模型)和Evaluation(以防万一),但没有一个直接明确地解决了这个问题.

唯一最接近我想要的是分类器的classifyInstances方法:

Classifies the given test instance. The instance has to belong to a dataset when it’s being classified. Note that a classifier MUST implement either this or distributionForInstance().

如何使用我自己的Java代码(也就是使用WEKA API)同时使用WEKA .MODEL文件来分类和获取新实例的预测?

java weka命令行_使用自己的Java代码和模型获取WEKA中的预测百分比相关推荐

  1. 介绍Java -D 命令行参数

    介绍Java -D 命令行参数 我们在ide中执行程序经常需要设置VM参数,运行maven命令也需要设置参数,都是通过-D设置参数值.本文带你了解-D命令行参数. 1. 什么是Java -D命令行参数 ...

  2. jedis操作set_redis命令行操作set集合和java方式操作set集合

    sadd key member [member ...] 向集合中增加元素 SMEMBERS key 查询集合中所有的元素 srem key member [member ...] 移除集合中指定元素 ...

  3. java调用命令行命令_Java命令行界面(第4部分):命令行

    java调用命令行命令 我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 "用于解析命令行参数的Java库",它"基于使用注释从命令行参数到 ...

  4. java 调用命令行

    java 调用命令行 JAVA Runtime类 java调用命令行 1. java调用终端,使用命令"javac" 2. java调用终端,使用javac编译helloWorld ...

  5. JAVA 的命令行运行

    作者:孙英鹏 撰写时间:2019年4月18日 JAVA 的命令行运行 今天要讲的是如何在命令行里进行打印运行.说明(此方法是老师的上课内容,我重新理解一遍) 首先创建一个文本文档,放在一个文件夹里,文 ...

  6. Java调用命令行+java生成词云

    java调用命令行 package com.weizu.control; import java.io.BufferedReader; import java.io.InputStreamReader ...

  7. Java jar 命令行运行程序如何引用第三方依赖包

    1 引言 mybatis generator 是一个命令行运行工具,可以生成 mybatis 代码.但它需要依赖数据库驱动 jar,否则会抛出 ClassNotFoundException 异常. E ...

  8. php mate,textmate 命令行_使用PHP在TextMate中创建命令

    textmate 命令行_使用PHP在TextMate中创建命令 textmate 命令行_使用PHP在TextMate中创建命令 textmate 命令行 TextMate is the best ...

  9. java 接收命令行参数_java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

最新文章

  1. 也记一次性能优化:LINQ to SQL中Contains方法的优化
  2. hybris impex里的小括号语法
  3. 从“梁漱溟:思考问题有八层境界”所联想到的
  4. java 检测表情符号_java – 检测String中的字符是否是表情符号(使用Android)
  5. 根据中文修改英文翻译,重新生成英文翻译文件(保证原有文件的顺序不变)
  6. WF4.0 基础篇 (六) 数据的传递 Arguments 参数
  7. 微博抽奖贴为什么到时间了不开奖_热搜第一!微博闹剧,锦鲤“信小呆”被这样处罚...
  8. oracle数据库主键自增序列_【oracle】oracle数据库建立序列、使用序列实现主键自增...
  9. Nodejs教程09:实现一个带接口请求的简单服务器
  10. MyEclipse编码设置
  11. java 生成ai矢量图_(针对新手)AI将位图图标转换为矢量图方法
  12. 单片机原理及应用第四版林立课后选择题
  13. 由QQ魔法卡看腾讯的运作模式
  14. 人人都可以参与开源!龙蜥社区最不容错过的开发者活动来了
  15. python实现素数判断
  16. kubernetes 创建pod /merged/dev/shm: invalid argument
  17. 读《王二的经济学故事》
  18. 案例分析 | 优衣库DTC模式之全渠道零售
  19. android跳转qq群代码,Android app 跳 QQ 群界面
  20. php文字转语音amr,如何将文字转成语音?这几个方法一分钟搞定!

热门文章

  1. 程序员离职带走源码竟获利800万,网友:我一般都是删库跑路
  2. 阿里云网站80端口无法访问
  3. for foreach循环
  4. 先记录一下吧 开始的程序 hello!java!
  5. [20150409]只读表空间与延迟块清除.txt
  6. 很幽默的讲解六种Socket IO模型
  7. 等待Ajax结果 再提交表单(ajax同步)
  8. java 反序列化漏洞简介
  9. linux 密码记录文件 .netrc 简介
  10. linux shell 字符串查找