在 Weka 中对单实例进行分类

2024-03-11

我使用 WEKA gui 训练并创建了 J48 模型。我将模型文件保存到我的计算机上,现在我想用它对我的 Java 代码中的单个实例进行分类。我想获得对属性“簇”的预测。我所做的如下:

public void classify(double lat, double lon, double co)
{            

// Create attributes to be used with classifiers
                    Attribute latitude = new Attribute("latitude");
                    Attribute longitude = new Attribute("longitude");
                    Attribute carbonmonoxide = new Attribute("co");

                    // Create instances for each pollutant with attribute values latitude, longitude and pollutant itself
                    inst_co = new DenseInstance(4);

                    // Set instance's values for the attributes "latitude", "longitude", and "pollutant concentration"
                    inst_co.setValue(latitude, lat);
                    inst_co.setValue(longitude, lon);
                    inst_co.setValue(carbonmonoxide, co);
                    inst_co.setMissing(cluster);


    Classifier cls_co = (Classifier) weka.core.SerializationHelper.read("/CO_J48Model.model");//load classifier from file

                    // Test the model
        double result = cls_co.classifyInstance(inst_co);
}

但是,我收到一个 IndexArrayOutofBoundsExceptioninst_co.setValue(latitude, lat);。我找不到这个异常的原因。如果有人能指出我正确的方向,我将不胜感激。


您需要将 inst_co 添加到数据集(一个 Instances 对象)中。以下代码应该可以工作。

import java.util.ArrayList;

import weka.classifiers.Classifier;
import weka.core.Attribute;
import weka.core.DenseInstance;
import weka.core.Instance;
import weka.core.Instances;

public class QuestionInstanceClassifiy {

    public static void main(String[] args) {
        QuestionInstanceClassifiy q = new QuestionInstanceClassifiy();
        double result = q.classify(1.0d, 1, 1);
        System.out.println(result);
    }

    private Instance inst_co;

    public double classify(double lat, double lon, double co)  {

        // Create attributes to be used with classifiers
        // Test the model
        double result = -1;
        try {

            ArrayList<Attribute> attributeList = new ArrayList<Attribute>(2);

            Attribute latitude = new Attribute("latitude");
            Attribute longitude = new Attribute("longitude");
            Attribute carbonmonoxide = new Attribute("co");

            ArrayList<String> classVal = new ArrayList<String>();
            classVal.add("ClassA");
            classVal.add("ClassB");


            attributeList.add(latitude);
            attributeList.add(longitude);
            attributeList.add(carbonmonoxide);
            attributeList.add(new Attribute("@@class@@",classVal));

            Instances data = new Instances("TestInstances",attributeList,0);


            // Create instances for each pollutant with attribute values latitude,
            // longitude and pollutant itself
            inst_co = new DenseInstance(data.numAttributes());
            data.add(inst_co);

            // Set instance's values for the attributes "latitude", "longitude", and
            // "pollutant concentration"
            inst_co.setValue(latitude, lat);
            inst_co.setValue(longitude, lon);
            inst_co.setValue(carbonmonoxide, co);
            // inst_co.setMissing(cluster);

            // load classifier from file
            Classifier cls_co = (Classifier) weka.core.SerializationHelper
                    .read("/CO_J48Model.model");

            result = cls_co.classifyInstance(inst_co);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return result;
    }
}

您从实例创建数据对象。将您的实例添加到此数据中。之后您可以在 Instance 中设置您的值。

Instances data = new Instances("TestInstances",attributeList,0);
inst_co = new DenseInstance(data.numAttributes());
data.add(inst_co);

我建议从外部文件获取标头信息和实例值或仅创建此信息一次。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Weka 中对单实例进行分类 的相关文章

  • 如何在Python中使用保存模型进行预测

    我正在 python 中进行文本分类 我想在生产环境中使用它来对新文档进行预测 我正在使用 TfidfVectorizer 来构建 bagofWord 我在做 X train vectorizer fit transform clean d
  • 如何平衡 GAN 中生成器和判别器的性能?

    这是我第一次使用 GAN 我面临着判别器多次优于生成器的问题 我正在尝试重现PA模型来自本文 http openaccess thecvf com content ICCV 2017 papers Sajjadi EnhanceNet Si
  • 具有可变动作的强化学习

    All the 强化学习 http en wikipedia org wiki Reinforcement learning我读过的算法通常应用于具有固定数量操作的单个代理 是否有任何强化学习算法可以在考虑可变数量的动作的同时做出决策 例如
  • 在 PyTorch 中原生测量多类分类的 F1 分数

    我正在尝试在 PyTorch 中本地实现宏 F1 分数 F measure 而不是使用已经广泛使用的sklearn metrics f1 score https scikit learn org stable modules generat
  • “RDD”对象没有属性“_jdf”pyspark RDD

    我是 pyspark 的新手 我想对文本文件执行一些机器学习 from pyspark import Row from pyspark context import SparkContext from pyspark sql session
  • HMM 如何用于手写识别?

    这个问题与传统的手写识别有点不同 我有一个包含数千个以下内容的数据集 对于一个绘制的角色 我有几个连续的 x y 按下笔的坐标 所以 这是一个顺序 时间 问题 我希望能够根据这些数据对手写字符进行分类 并且希望实现 HMM 来实现学习目的
  • TDD 在机器学习中的好处

    据我所知 TDD 的典型工作流程是基于黑盒测试的 首先我们定义接口 然后编写一个或一组测试 然后我们实现通过所有测试的代码 那么请看下面的例子 from abc import ABCMeta class InterfaceCalculato
  • 使用马哈拉诺比斯距离进行多变量离群值去除

    我的数据有异常值 我怎样才能找到马哈拉诺比斯距离 并用它来删除异常值 首先让我提出一些一般准则 实际上 如果你有很多特征和较少的样本 马哈拉诺比斯算法往往会给出误导性的结果 你可以自己尝试一下 所以你拥有的特征越多 你应该提供的样本就越多
  • Matlab - 神经网络训练

    我正在努力创建一个具有反向传播的 2 层神经网络 神经网络应该从 20001x17 向量获取数据 该向量在每行中包含以下信息 前 16 个单元格包含从 0 到 15 的整数 它们充当变量 帮助我们确定在看到这些变量时要表达的 26 个字母中
  • Keras:模型准确率在达到 99% 准确率后下降,损失为 0.01

    我正在 keras 中使用改编的 LeNet 模型来进行二元分类 我有大约 250 000 个训练样本 比率为 60 40 我的模型训练得很好 第一个 epoch 的准确率达到 97 损失为 0 07 10 个 epoch 后 准确率超过
  • 帮助--LibSVM 的准确率达到 100%?

    名义上这是一个好问题 但我很确定这是因为发生了一些有趣的事情 作为上下文 我正在研究面部表情 识别空间中的一个问题 因此获得 100 的准确度似乎令人难以置信 并不是说在大多数应用程序中这是合理的 我猜测数据集中存在一些一致的偏差 这使得
  • 哪些分类器提供权重向量?

    存在哪些机器学习分类器可以在学习阶段后提供权重向量 我了解 SVM 逻辑回归 感知器和 LDA 还有更多吗 我的目标是使用这些权重向量绘制重要性图 其实任何线性分类器 https en wikipedia org title Linear
  • 仅正样本和未标记数据集的二元半监督分类

    我的数据由评论组成 保存在文件中 其中很少被标记为正面 我想使用半监督和PU http www cs uic edu liub publications ICDM 03 pdf分类将这些评论分为正面和负面类别 我想知道 python sci
  • 如何检测(心电图)波的模式?

    我正在尝试读取心电图图像并检测其中的每个主波 P 波 QRS 波群和 T 波 我可以读取图像并获得向量 例如 4 2 4 4 4 9 4 7 我需要一种算法来遍历这个向量并检测每个波何时开始和结束 一个例子 如果它们总是具有相同的大小 或者
  • 使用 train_test_split 分割数据时的精度与随后加载 csv 文件的精度不同

    我建立了一个模型来预测客户是企业客户还是私人客户 训练模型后 我预测了 1000 个数据集的类别 但我没有将其用于训练 此预测将保存在 csv 文件中 现在我有两种不同的行为 在程序中分割样本数据 当我创建示例时train sample t
  • 使用 load_model 加载经过训练的tensorflow.keras模型会返回JSON解码错误,而未经训练的模型加载正常

    我有一个训练有素的 Keras 模型 使用 tensorflow keras API 构建和训练 并使用tf keras save model 没有可选参数的方法 Tensorflow 是最新的 我的 Python 版本是 3 8 根据我的
  • 在 model.fit() 期间记录 Keras 中每个时期的计算时间

    我想比较不同模型之间的计算时间 在拟合期间 每个时期的计算时间被打印到控制台 Epoch 5 5 160000 160000 10s 我正在寻找一种方法来存储这些时间 其方式与模型指标类似 模型指标保存在每个时期并可通过历史对象获取 尝试以
  • 现代 CNN(卷积神经网络)作为 DetectNet 旋转不变吗?

    众所周知 用于目标检测的 nVidia DetectNet CNN 卷积神经网络 基于 Yolo DenseBox 的方法 https devblogs nvidia com parallelforall deep learning obj
  • 如何更新反卷积层的权重?

    我正在尝试开发一个反卷积层 或者准确地说是转置卷积层 在前向传递中 我进行了完全卷积 零填充卷积 在向后传递中 我进行有效的卷积 没有填充的卷积 以将错误传递到前一层 偏差的梯度很容易计算 只需对多余维度进行平均即可 问题是我不知道如何更新
  • 用于多输入图像的 VGG16 网络

    我正在尝试将 VGG16 网络用于多个输入图像 使用具有 2 个输入的简单 CNN 训练该模型给了我一个 acc 大约 50 这就是为什么我想使用 VGG16 这样的既定模型进行尝试 这是我尝试过的 imports from keras a

随机推荐

  • 保持 OAuth 访问令牌的秘密有多重要?

    一旦我收到使用 OAuth 的网站 例如 facebook 的访问令牌 保守这个秘密有多重要 如果有人掌握了它 会发生什么恶意的事情吗 我想知道将令牌保存在 cookie 或会话中是否是一个坏主意 是的 访问令牌相当于您的用户名 密码 大多
  • SYMPY:特征向量计算后如何细化整个矩阵?

    我想使用 sympy 来计算特征向量 我用 jupyter 笔记本做了一些试验 from sympy import a b symbols a b real True M Matrix a b b a T D M diagonalize n
  • 使用没有会话或 cookie 数据的 iFrame(隐身)

    如果您使用iFrameHTML 文档中的元素 子页面将加载来自浏览器的所有会话和 cookie 数据 例如 h1 Stack Overflow in an iFrame h1 暂时忽略 SO 实际上不允许自己加载到 iFrame 中 如果是
  • 将 csv 文件添加到 HTTP POST

    我想发送一个邮递员 HTTP POST 在此请求中 对于关键 fisier 我想附加一个 csv 文件 如何做到这一点 https i stack imgur com Pnkii png https i stack imgur com Pn
  • 通过 websockets 发送 popen 的输出

    我使用 popen 和 fgets 异步读取 tcpdump 的输出 下面的代码应该在命令行中运行 而不是使用 apache 并在浏览器中查看它 handle popen tcpdump nnX r while true output fg
  • CSS:在绝对定位的div之后有一个div

    我想知道如何做到这一点 我当前的标记如下 div div class widget style width 313px height 269px Hello div div class widget style width 80px hei
  • Kotlin 用于基于 Cordova/Ionic 的插件

    是否可以使用 Kotlin 作为框架 语言作为 Cordova 插件 第一个问题是它没有复制 kt 文件 因为它查找 java 或 xml 如果是这样 有人知道如何设置的参考吗 最近我一直在 Cordova 插件中使用 Kotlin 但是当
  • 可以使用webpack分别生成CSS和JS吗?

    I have 我想要捆绑的 JS 文件 我想要编译为 CSS 的 LESS 文件 将 imports 解析为单个包 我希望将它们指定为两个单独的输入并具有两个单独的输出 可能通过 extract text webpack plugin We
  • 如何在netbeans中运行php文件

    我创建了一个扩展名为 php 的文件 那么我应该如何使用 netbeans 运行这个文件 我已经下载了带有所有捆绑功能的 netbeans 6 8 我已经看到 php 文件可以与 netbeans 一起运行 所以我想问一下 请解释一下 运行
  • SQL 中的多个 LIKE 语句

    我有一个包含有关零售商店信息的表 我有一个零售连锁店名称列表 沃尔玛 塔吉特 伊顿等 当用户选择一个时 我基本上会运行一个查询来查找与该连锁店有关的任何信息 SELECT FROM stores WHERE store name LIKE
  • 如何使用 dotnet test 命令发布结果

    我有一个用 dotnet core 编写的测试项目 这需要以 XML 或 HTML 格式发布结果 有没有办法使用相同的命令将结果发布到特定目录 result directory不适合我 你可以看到所有dotnet test通过执行选项dot
  • 在嵌入式 vimeo 播放器上添加覆盖层

    这是我嵌入到我的网站中的视频 Fiddle https jsfiddle net hgtvqatm 问题是 它很小 并且播放和其他按钮覆盖了半个屏幕 那么有什么方法可以在播放器上添加图层图像 当您单击该图像时 视频应该开始播放 http c
  • Jvectormap突出显示多个国家

    我目前正在使用J向量图 http jvectormap com 并试图在将鼠标悬停在文本上时突出显示多个国家 我已经达到了这样的程度 如果我将鼠标悬停在 非洲 一词上 它将突出显示整个地图 当我将鼠标悬停在内容上时 我将如何过滤它以仅突出显
  • 我应该如何从json字符串中读取数据? iPhone

    我有一个NSString van 1 312 vuan 12 123 为了获得每个键的值 我这样做 NSData data1 jsonResponse1 dataUsingEncoding NSUTF8StringEncoding json
  • 如何修复“[08S01]通信链路故障最后一个数据包成功发送到服务器是在 0 毫秒前。”

    我正在使用 PhpStorm DataGrip MySQL WAMP 开发一个 PHP 项目 从那时起 我就可以使用这些配置正常使用远程数据库 参见图片 但突然我收到这个错误 08S01 通信链路故障 最后一次成功发送到服务器的数据包是在
  • 当表无法返回值时,如何抓取表? (美汤)

    以下是我的代码 import numpy as np import pandas as pd import requests from bs4 import BeautifulSoup stats page requests get htt
  • 父窗口是否可以通知子窗口是否已关闭?

    I have parent window opener and child popup parent gt opens popup child 假设 在父页面中 我有 js 函数hello 为了让子窗口在子窗口关闭时调用父窗口的 hello
  • 如何正确包含 cordova 插件的外部 jar 文件?

    我正在尝试制作一个简单的 cordova android 插件 它需要在 jar 文件中定义的类 我有一个测试项目here https github com konsumer testpebble 其中包括示例用法和我的插件的简化版本 在我
  • 在 Powershell 中复制整个文件夹结构,无需重新创建根文件夹

    我有一个像这样的源文件夹 source folder gt sub folder1 gt sub folder2 gt sub folder3 where sub folder1 sub folder2 and sub folder3自己有
  • 在 Weka 中对单实例进行分类

    我使用 WEKA gui 训练并创建了 J48 模型 我将模型文件保存到我的计算机上 现在我想用它对我的 Java 代码中的单个实例进行分类 我想获得对属性 簇 的预测 我所做的如下 public void classify double