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