Re: InacessibleObjectException

Peter Reutemann <[email protected]> Fri, 25 Aug 2023 11:10:28 +1200
Newsgroups gmane.comp.ai.weka
Message-ID <CAHoQ12LuW2sDJ9aa+vguJBh-vd3AmHkXnRuQhQLBNN+gE0dJNw@mail.gmail.com>
> Hello everyone,
>
> I have the following code:
> double[] evaluateGainRatio(Instances data) throws Exception{
>         double[] gainRatios = new double[data.numAttributes()];
>         for (int i = 0; i < data.numAttributes(); i++) {
>             GainRatioAttributeEval gainRatioAttributeEval = new GainRatioAttributeEval();
>             gainRatioAttributeEval.buildEvaluator(data);
>             gainRatios[i] = gainRatioAttributeEval.evaluateAttribute(i);
>         }
>         return gainRatios;
>     }
>
> and the buildEvaluator method, throws an InaccessibleObjectException!

This code works fine on the iris dataset:

import weka.attributeSelection.GainRatioAttributeEval;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;

public class TestGainRatio {

  public static double[] evaluateGainRatio(Instances data) throws Exception{
    double[] gainRatios = new double[data.numAttributes()];
    for (int i = 0; i < data.numAttributes(); i++) {
      GainRatioAttributeEval gainRatioAttributeEval = new
GainRatioAttributeEval();
      gainRatioAttributeEval.buildEvaluator(data);
      gainRatios[i] = gainRatioAttributeEval.evaluateAttribute(i);
    }
    return gainRatios;
  }

  public static void main(String[] args) throws Exception {
    // change the path
    Instances data =
DataSource.read("/home/fracpete/development/datasets/uci/iris.arff");
    data.setClassIndex(data.numAttributes() - 1);
    double[] g = evaluateGainRatio(data);
    for (int i = 0; i < g.length; i++)
      System.out.println(i + ": " + g[i]);
  }
}

It outputs this:

0: 0.38117399632066534
1: 0.24182646151884155
2: 0.7339959990480825
3: 0.8713691782871593
4: 1.0

Using Java 11 (jdk-11.0.11+9)

You will need to provide a minimal code example (and dataset) with
which to replicate the problem.

Cheers, Peter
-- 
Peter Reutemann
Dept. of Computer Science
University of Waikato, Hamilton, NZ
Mobile +64 22 190 2375
https://www.cs.waikato.ac.nz/~fracpete/
http://www.data-mining.co.nz/
_______________________________________________
Wekalist mailing list -- [email protected]
Send posts to [email protected]
To unsubscribe send an email to [email protected]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/postorius/lists/wekalist.list.waikato.ac.nz
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html