java weka命令行_使用自己的Java代码和模型获取WEKA中的预测百分比
概观
我知道可以通过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中的预测百分比相关推荐
- 介绍Java -D 命令行参数
介绍Java -D 命令行参数 我们在ide中执行程序经常需要设置VM参数,运行maven命令也需要设置参数,都是通过-D设置参数值.本文带你了解-D命令行参数. 1. 什么是Java -D命令行参数 ...
- jedis操作set_redis命令行操作set集合和java方式操作set集合
sadd key member [member ...] 向集合中增加元素 SMEMBERS key 查询集合中所有的元素 srem key member [member ...] 移除集合中指定元素 ...
- java调用命令行命令_Java命令行界面(第4部分):命令行
java调用命令行命令 我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 "用于解析命令行参数的Java库",它"基于使用注释从命令行参数到 ...
- java 调用命令行
java 调用命令行 JAVA Runtime类 java调用命令行 1. java调用终端,使用命令"javac" 2. java调用终端,使用javac编译helloWorld ...
- JAVA 的命令行运行
作者:孙英鹏 撰写时间:2019年4月18日 JAVA 的命令行运行 今天要讲的是如何在命令行里进行打印运行.说明(此方法是老师的上课内容,我重新理解一遍) 首先创建一个文本文档,放在一个文件夹里,文 ...
- Java调用命令行+java生成词云
java调用命令行 package com.weizu.control; import java.io.BufferedReader; import java.io.InputStreamReader ...
- Java jar 命令行运行程序如何引用第三方依赖包
1 引言 mybatis generator 是一个命令行运行工具,可以生成 mybatis 代码.但它需要依赖数据库驱动 jar,否则会抛出 ClassNotFoundException 异常. E ...
- php mate,textmate 命令行_使用PHP在TextMate中创建命令
textmate 命令行_使用PHP在TextMate中创建命令 textmate 命令行_使用PHP在TextMate中创建命令 textmate 命令行 TextMate is the best ...
- java 接收命令行参数_java中的命令行参数_Java中的命令行参数
java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...
最新文章
- 也记一次性能优化:LINQ to SQL中Contains方法的优化
- hybris impex里的小括号语法
- 从“梁漱溟:思考问题有八层境界”所联想到的
- java 检测表情符号_java – 检测String中的字符是否是表情符号(使用Android)
- 根据中文修改英文翻译,重新生成英文翻译文件(保证原有文件的顺序不变)
- WF4.0 基础篇 (六) 数据的传递 Arguments 参数
- 微博抽奖贴为什么到时间了不开奖_热搜第一!微博闹剧,锦鲤“信小呆”被这样处罚...
- oracle数据库主键自增序列_【oracle】oracle数据库建立序列、使用序列实现主键自增...
- Nodejs教程09:实现一个带接口请求的简单服务器
- MyEclipse编码设置
- java 生成ai矢量图_(针对新手)AI将位图图标转换为矢量图方法
- 单片机原理及应用第四版林立课后选择题
- 由QQ魔法卡看腾讯的运作模式
- 人人都可以参与开源!龙蜥社区最不容错过的开发者活动来了
- python实现素数判断
- kubernetes 创建pod /merged/dev/shm: invalid argument
- 读《王二的经济学故事》
- 案例分析 | 优衣库DTC模式之全渠道零售
- android跳转qq群代码,Android app 跳 QQ 群界面
- php文字转语音amr,如何将文字转成语音?这几个方法一分钟搞定!