graphviz-treevisualize-weka-packakge not listed by package manager?

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

graphviz-treevisualize-weka-packakge not listed by package manager?

Rik Belew
(using 3.8.3-oracle-jvm on MacOS)

i want to install the graphviz-treevisualize-weka-pacakge plugin,
and would expect to find it in the weka package manager GUI list
but do not?  is it not an "official" plugin?  (see attached.)

looking at the package manager doc:

https://waikato.github.io/weka-wiki/packages/manager/

do i need to manually drop the `pom.xml` paragraph somewhere?

thanks for your great work,

        Rik

--
Richard K. Belew
UC San Diego | hancock

_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html

graphviz-wekaPkg.png (113K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: graphviz-treevisualize-weka-packakge not listed by package manager?

Peter Reutemann-3
It's an unofficial package:


Download a release zip file and install it through the package manager's "unofficial/file" button.

Cheers, Peter
--
Peter Reutemann
Dept. of Computer Science
University of Waikato, NZ
+64 (7) 858-5174
http://www.cms.waikato.ac.nz/~fracpete/
http://www.data-mining.co.nz/

On Thu, Apr 25, 2019, 9:59 AM R. K. Belew <[hidden email]> wrote:
(using 3.8.3-oracle-jvm on MacOS)

i want to install the graphviz-treevisualize-weka-pacakge plugin,
and would expect to find it in the weka package manager GUI list
but do not?  is it not an "official" plugin?  (see attached.)

looking at the package manager doc:

https://waikato.github.io/weka-wiki/packages/manager/

do i need to manually drop the `pom.xml` paragraph somewhere?

thanks for your great work,

        Rik

--
Richard K. Belew
UC San Diego | hancock
_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html

_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html
Reply | Threaded
Open this post in threaded view
|

Re: graphviz-treevisualize-weka-packakge not listed by package manager?

Rik Belew
In reply to this post by Rik Belew
[there's something not working on the email list for me:  i have
tried to subscribe, but have not got confirmation of that from Mailman?
i also never got word that the moderator had allowed my post?
either way, i cannot just reply to your message on the list(: ]

> It's an unofficial package:
>
> https://github.com/fracpete/graphviz-treevisualize-weka-package
>
> Download a release zip file and install it through the package manager's
> "unofficial/file" button.

thanks for that!

but when i do that way, i get the following exception:

> java.lang.NullPointerException
> at weka.core.WekaPackageLibIsolatingClassLoader.checkForNativeLibs(WekaPackageLibIsolatingClassLoader.java:220)
> at weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:145)
> at weka.core.WekaPackageLibIsolatingClassLoader.<init>(WekaPackageLibIsolatingClassLoader.java:126)
> at weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
> at weka.core.WekaPackageManager.initializeAndLoadUnofficialPackage(WekaPackageManager.java:2270)
> at weka.core.WekaPackageManager.installPackageFromArchive(WekaPackageManager.java:2257)
> at weka.gui.PackageManager$UnofficialInstallTask.doInBackground(PackageManager.java:780)
> at weka.gui.PackageManager$UnofficialInstallTask.doInBackground(PackageManager.java:724)
> at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at javax.swing.SwingWorker.run(SwingWorker.java:334)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)

same error on trying to load jgrapht-treevisualize?

        Rik

--
Richard K. Belew
UC San Diego | hancock
_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html
Reply | Threaded
Open this post in threaded view
|

Re: graphviz-treevisualize-weka-packakge not listed by package manager?

Peter Reutemann-2
> [there's something not working on the email list for me:  i have
> tried to subscribe, but have not got confirmation of that from Mailman?
> i also never got word that the moderator had allowed my post?
> either way, i cannot just reply to your message on the list(: ]
>
> > It's an unofficial package:
> >
> > https://github.com/fracpete/graphviz-treevisualize-weka-package
> >
> > Download a release zip file and install it through the package manager's
> > "unofficial/file" button.
>
> thanks for that!
>
> but when i do that way, i get the following exception:
>
> > java.lang.NullPointerException
> >       at weka.core.WekaPackageLibIsolatingClassLoader.checkForNativeLibs(WekaPackageLibIsolatingClassLoader.java:220)
> >       at weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:145)
> >       at weka.core.WekaPackageLibIsolatingClassLoader.<init>(WekaPackageLibIsolatingClassLoader.java:126)
> >       at weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
> >       at weka.core.WekaPackageManager.initializeAndLoadUnofficialPackage(WekaPackageManager.java:2270)
> >       at weka.core.WekaPackageManager.installPackageFromArchive(WekaPackageManager.java:2257)
> >       at weka.gui.PackageManager$UnofficialInstallTask.doInBackground(PackageManager.java:780)
> >       at weka.gui.PackageManager$UnofficialInstallTask.doInBackground(PackageManager.java:724)
> >       at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
> >       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> >       at javax.swing.SwingWorker.run(SwingWorker.java:334)
> >       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >       at java.lang.Thread.run(Thread.java:748)
>
> same error on trying to load jgrapht-treevisualize?

Hmmm... Just tried version 2018.5.13 (for Weka 3.8.x) on my Linux Mint
19.1 (Java 10.0.2+13 and 1.8.0_191-b12) and it works just fine.
I started Weka from the terminal with the following command (fro the
directory that contains the weka.jar):
  java -jar weka.jar

Unfortunately, I don't have access to a Mac. Make sure that your Java
version is 8 ("java -version").

Cheers, Peter
--
Peter Reutemann
Dept. of Computer Science
University of Waikato, NZ
+64 (7) 858-5174
http://www.cms.waikato.ac.nz/~fracpete/
http://www.data-mining.co.nz/
_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html
Reply | Threaded
Open this post in threaded view
|

Re: graphviz-treevisualize-weka-packakge not listed by package manager?

Rik Belew
thanks Peter, this was the hint that worked:

> Just tried version 2018.5.13 (for Weka 3.8.x)...

i had been grabbing (what I think of as the primary)
top level graphviz-treevisualize-weka-package-master.zip offered at your
repo.  but if i drill down to
Releases and grab the release you mention, it worked!

doing the same for jgrapht-treevisualize also works.
i did notice that the release there is called
"graphviz-treevisualize-2019.4.11.zip", probably
just a typo?

thanks once again,
        Rik


On 4/27/19 10:24 PM, Peter Reutemann wrote:

>
> Hmmm... Just tried version 2018.5.13 (for Weka 3.8.x) on my Linux Mint
> 19.1 (Java 10.0.2+13 and 1.8.0_191-b12) and it works just fine.
> I started Weka from the terminal with the following command (fro the
> directory that contains the weka.jar):
>   java -jar weka.jar
>
> Unfortunately, I don't have access to a Mac. Make sure that your Java
> version is 8 ("java -version").
>
> Cheers, Peter
>

--
Richard K. Belew
UC San Diego | hancock
_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html
Reply | Threaded
Open this post in threaded view
|

Re: graphviz-treevisualize-weka-packakge not listed by package manager?

Peter Reutemann-2
> thanks Peter, this was the hint that worked:
>
> > Just tried version 2018.5.13 (for Weka 3.8.x)...
>
> i had been grabbing (what I think of as the primary)
> top level graphviz-treevisualize-weka-package-master.zip offered at your
> repo.

That's just the source code that Github offers you for any project,
not a compiled release. Hence there is the "Release" section on the
project's page.

> but if i drill down to
> Releases and grab the release you mention, it worked!

Great!

> doing the same for jgrapht-treevisualize also works.
> i did notice that the release there is called
> "graphviz-treevisualize-2019.4.11.zip", probably
> just a typo?

Yes, simple typo. That package was just a quick hack (busy with work),
using code from another project (ADAMS) and the layout of the graphviz
package as basis (forgot to replace one occasion).

Cheers, Peter
--
Peter Reutemann
Dept. of Computer Science
University of Waikato, NZ
+64 (7) 858-5174
http://www.cms.waikato.ac.nz/~fracpete/
http://www.data-mining.co.nz/
_______________________________________________
Wekalist mailing list
Send posts to: [hidden email]
To subscribe, unsubscribe, etc., visit https://list.waikato.ac.nz/mailman/listinfo/wekalist
List etiquette: http://www.cs.waikato.ac.nz/~ml/weka/mailinglist_etiquette.html
Reply | Threaded
Open this post in threaded view
|

annotation of J48 decision trees

Rik Belew
In reply to this post by Peter Reutemann-2
Peter et al,

I've been thinking for awhile of a hack that exploits the dot/graphviz
graph build for decision trees built by J48, but extends it to show
the "flow" of instances through decision nodes, giving a sense of
their volume and localizing sources of classification error.  I've
written a simple python script that parses the `.dot` file produced by
weka, and produces an annotated version of the graph showing:

- LEAF node size proportional to nsample
- node labels incorporating decision relation and value
- *cummulative* counts of the number of positive/negative instances
  passing through interior (non-leaf) nodes, and *cummulative* success
  vs. misclassification counts
- different shapes for TRUE/FALSE leaf nodes

I've found these annotations over the (already very helpful) decision
tree graph to be very useful in understanding many datasets.  If
others also find it useful, I'm happy to shepard it into the weka SVN
repo as you wish.

[The code is
here](https://github.com/rbelew/rikHak/blob/master/anlyzClassifTree.py).

[A key to the annotations is
here](https://github.com/rbelew/rikHak/blob/master/anlyzClassifTree-key.png)

I've also placed two sample data files (base6.arff, base7.arff), their
respective original `.dot` files and `.png` output of the result of
these annotations in this same repo directory:

https://github.com/rbelew/rikHak/blob/master/

But before release of this script, I would also need your help in
finding a **bug** in either my code or understanding of what the weka data
is showing:

Using the `base6` example, if you look at its J48 tree, basic stats and
confusion matrix:

        J48 pruned tree
        ------------------

        balswap <= 0: FALSE (1800.0/49.0)
        balswap > 0
        |   improve1 <= 0
        |   |   nedge <= 1125: FALSE (831.0/27.0)
        |   |   nedge > 1125
        |   |   |   walklen <= 2: FALSE (45.0/20.0)
        |   |   |   walklen > 2: TRUE (24.0/9.0)
        |   improve1 > 0
        |   |   nedge <= 1140
        |   |   |   nedge <= 698: FALSE (49.0/8.0)
        |   |   |   nedge > 698
        |   |   |   |   walklen <= 1: FALSE (263.0/106.0)
        |   |   |   |   walklen > 1: TRUE (528.0/249.0)
        |   |   nedge > 1140: TRUE (60.0/6.0)

        Correctly Classified Instances        3089               85.8056 %
        Incorrectly Classified Instances       511               14.1944 %

           a    b   <-- classified as
        2821  221 |    a = FALSE
         290  268 |    b = TRUE

and contrast it with the
[annotated
version](https://github.com/rbelew/rikHak/blob/master/base6-dtattrib.png)

The interior/decision node stats are labeled with parentheses
`(positive,negative)` around the cummulative number of
positive/negative instances coming through the node, and square
brackets `[success,miss]` around the number of successful
vs. misclassifications.  TRUE leaves are circles, and FALSE leaves are
squares.  Note: both types of leaves have the number of positive
instances first; ie, the first number will be larger in circles, and
smaller in squares.

Comparing everything to weka's stats looks good, **except for two
numbers** in the top, root node: The first row of
`(positive,negative)` numbers do indeed capture the same row totals as
in the confusion table.  **But the `[success,miss]` statistics are
`[3126,474]` vs. the values 3089 and 511 correct/incorrect
classification numbers given in the weka output?!**  My numbers are
-37 from weka's.  A similar thing happens with the `base7` example; in
this case my numbers are +5 from weka's

I've traced my (recursive) decision tree traversal routines all the
way down on both these examples and cannot find the source of the
gap.

Does this code look potentially useful to anyone?  If so, I'd be very
grateful if someone can help me resolve this vexing bug.



--
Richard K. Belew
UC San Diego | hancock
_______________________________________________
Wekalist mailing list -- [hidden email]
Send posts to: To unsubscribe send an email to [hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: annotation of J48 decision trees

Eibe Frank-2
Administrator
When I run J48 on your base6.arff data (https://raw.githubusercontent.com/rbelew/rikHak/master/base6.arff), I get the following tree instead:

=== Classifier model (full training set) ===

J48 pruned tree
------------------

balswap <= 0: FALSE (1800.0/49.0)
balswap > 0
|   improve1 <= 0
|   |   nedge <= 1125: FALSE (831.0/27.0)
|   |   nedge > 1125
|   |   |   nedge <= 1194
|   |   |   |   walklen <= 2: FALSE (37.0/13.0)
|   |   |   |   walklen > 2
|   |   |   |   |   nedge <= 1174
|   |   |   |   |   |   fval <= 47.935577
|   |   |   |   |   |   |   nedge <= 1133: TRUE (3.0/1.0)
|   |   |   |   |   |   |   nedge > 1133: FALSE (7.0)
|   |   |   |   |   |   fval > 47.935577: TRUE (2.0)
|   |   |   |   |   nedge > 1174: TRUE (9.0/1.0)
|   |   |   nedge > 1194: TRUE (11.0/1.0)
|   improve1 > 0
|   |   nedge <= 1140
|   |   |   nedge <= 698: FALSE (49.0/8.0)
|   |   |   nedge > 698
|   |   |   |   walklen <= 1: FALSE (263.0/106.0)
|   |   |   |   walklen > 1: TRUE (528.0/249.0)
|   |   nedge > 1140: TRUE (60.0/6.0)

Number of Leaves  : 12

Size of the tree : 23


Time taken to build model: 0.08 seconds

Time taken to test model on training data: 0.02 seconds

=== Error on training data ===

Correctly Classified Instances        3139               87.1944 %
Incorrectly Classified Instances       461               12.8056 %
Kappa statistic                          0.5301
Mean absolute error                      0.162
Root mean squared error                  0.2846
Relative absolute error                 61.8193 %
Root relative squared error             78.6451 %
Total Number of Instances             3600    

Cheers,
Eibe

> On 21/10/2019, at 11:20 AM, R. K. Belew <[hidden email]> wrote:
>
> Peter et al,
>
> I've been thinking for awhile of a hack that exploits the dot/graphviz
> graph build for decision trees built by J48, but extends it to show
> the "flow" of instances through decision nodes, giving a sense of
> their volume and localizing sources of classification error.  I've
> written a simple python script that parses the `.dot` file produced by
> weka, and produces an annotated version of the graph showing:
>
> - LEAF node size proportional to nsample
> - node labels incorporating decision relation and value
> - *cummulative* counts of the number of positive/negative instances
>  passing through interior (non-leaf) nodes, and *cummulative* success
>  vs. misclassification counts
> - different shapes for TRUE/FALSE leaf nodes
>
> I've found these annotations over the (already very helpful) decision
> tree graph to be very useful in understanding many datasets.  If
> others also find it useful, I'm happy to shepard it into the weka SVN
> repo as you wish.
>
> [The code is
> here](https://github.com/rbelew/rikHak/blob/master/anlyzClassifTree.py).
>
> [A key to the annotations is
> here](https://github.com/rbelew/rikHak/blob/master/anlyzClassifTree-key.png)
>
> I've also placed two sample data files (base6.arff, base7.arff), their
> respective original `.dot` files and `.png` output of the result of
> these annotations in this same repo directory:
>
> https://github.com/rbelew/rikHak/blob/master/
>
> But before release of this script, I would also need your help in
> finding a **bug** in either my code or understanding of what the weka data
> is showing:
>
> Using the `base6` example, if you look at its J48 tree, basic stats and
> confusion matrix:
>
>        J48 pruned tree
>        ------------------
>
>        balswap <= 0: FALSE (1800.0/49.0)
>        balswap > 0
>        |   improve1 <= 0
>        |   |   nedge <= 1125: FALSE (831.0/27.0)
>        |   |   nedge > 1125
>        |   |   |   walklen <= 2: FALSE (45.0/20.0)
>        |   |   |   walklen > 2: TRUE (24.0/9.0)
>        |   improve1 > 0
>        |   |   nedge <= 1140
>        |   |   |   nedge <= 698: FALSE (49.0/8.0)
>        |   |   |   nedge > 698
>        |   |   |   |   walklen <= 1: FALSE (263.0/106.0)
>        |   |   |   |   walklen > 1: TRUE (528.0/249.0)
>        |   |   nedge > 1140: TRUE (60.0/6.0)
>
>        Correctly Classified Instances        3089               85.8056 %
>        Incorrectly Classified Instances       511               14.1944 %
>
>           a    b   <-- classified as
>        2821  221 |    a = FALSE
>         290  268 |    b = TRUE
>
> and contrast it with the
> [annotated
> version](https://github.com/rbelew/rikHak/blob/master/base6-dtattrib.png)
>
> The interior/decision node stats are labeled with parentheses
> `(positive,negative)` around the cummulative number of
> positive/negative instances coming through the node, and square
> brackets `[success,miss]` around the number of successful
> vs. misclassifications.  TRUE leaves are circles, and FALSE leaves are
> squares.  Note: both types of leaves have the number of positive
> instances first; ie, the first number will be larger in circles, and
> smaller in squares.
>
> Comparing everything to weka's stats looks good, **except for two
> numbers** in the top, root node: The first row of
> `(positive,negative)` numbers do indeed capture the same row totals as
> in the confusion table.  **But the `[success,miss]` statistics are
> `[3126,474]` vs. the values 3089 and 511 correct/incorrect
> classification numbers given in the weka output?!**  My numbers are
> -37 from weka's.  A similar thing happens with the `base7` example; in
> this case my numbers are +5 from weka's
>
> I've traced my (recursive) decision tree traversal routines all the
> way down on both these examples and cannot find the source of the
> gap.
>
> Does this code look potentially useful to anyone?  If so, I'd be very
> grateful if someone can help me resolve this vexing bug.
>
>
>
> --
> Richard K. Belew
> UC San Diego | hancock
> _______________________________________________
> Wekalist mailing list -- [hidden email]
> Send posts to: To unsubscribe send an email to [hidden email]
> 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
_______________________________________________
Wekalist mailing list -- [hidden email]
Send posts to: To unsubscribe send an email to [hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: annotation of J48 decision trees

Rik Belew
ah!  i think the difference is that i was using a `-M 20` parameter to J48, vs. the default `-M 2` .  Sorry about not mentioning that(:  (There is also an extra attribute `hillclimb` that should/could be filtered, but it doesn't change these results.)
_______________________________________________
Wekalist mailing list -- [hidden email]
Send posts to: To unsubscribe send an email to [hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: annotation of J48 decision trees

Eibe Frank-2
Administrator
OK, so here is the full output with -M 20. You need to compare to performance on the *training data*, which gives you the [3126,474] values for your  [success,miss] calculation.

You were looking at the performance stats obtained using 10-fold cross-validation. Those are obtained by running the learning algorithm 10 times on different subsamples of the full dataset.

Cheers,
Eibe

————————

Options: -M 20

=== Classifier model (full training set) ===

J48 pruned tree
------------------

balswap <= 0: FALSE (1800.0/49.0)
balswap > 0
|   improve1 <= 0
|   |   nedge <= 1125: FALSE (831.0/27.0)
|   |   nedge > 1125
|   |   |   walklen <= 2: FALSE (45.0/20.0)
|   |   |   walklen > 2: TRUE (24.0/9.0)
|   improve1 > 0
|   |   nedge <= 1140
|   |   |   nedge <= 698: FALSE (49.0/8.0)
|   |   |   nedge > 698
|   |   |   |   walklen <= 1: FALSE (263.0/106.0)
|   |   |   |   walklen > 1: TRUE (528.0/249.0)
|   |   nedge > 1140: TRUE (60.0/6.0)

Number of Leaves  : 8

Size of the tree : 15


Time taken to build model: 0.08 seconds

Time taken to test model on training data: 0.01 seconds

=== Error on training data ===

Correctly Classified Instances        3126               86.8333 %
Incorrectly Classified Instances       474               13.1667 %
Kappa statistic                          0.5165
Mean absolute error                      0.1653
Root mean squared error                  0.2875
Relative absolute error                 63.057  %
Root relative squared error             79.4285 %
Total Number of Instances             3600    


=== Detailed Accuracy By Class ===

                 TP Rate  FP Rate  Precision  Recall   F-Measure  MCC      ROC Area  PRC Area  Class
                 0.913    0.376    0.930      0.913    0.921      0.517    0.872     0.960     FALSE
                 0.624    0.087    0.569      0.624    0.595      0.517    0.872     0.546     TRUE
Weighted Avg.    0.868    0.331    0.874      0.868    0.871      0.517    0.872     0.896    


=== Confusion Matrix ===

    a    b   <-- classified as
 2778  264 |    a = FALSE
  210  348 |    b = TRUE

Time taken to perform cross-validation: 0.24 seconds


=== Stratified cross-validation ===

Correctly Classified Instances        3089               85.8056 %
Incorrectly Classified Instances       511               14.1944 %
Kappa statistic                          0.4293
Mean absolute error                      0.1669
Root mean squared error                  0.2911
Relative absolute error                 63.6952 %
Root relative squared error             80.4239 %
Total Number of Instances             3600    


=== Detailed Accuracy By Class ===

                 TP Rate  FP Rate  Precision  Recall   F-Measure  MCC      ROC Area  PRC Area  Class
                 0.927    0.520    0.907      0.927    0.917      0.431    0.858     0.958     FALSE
                 0.480    0.073    0.548      0.480    0.512      0.431    0.858     0.555     TRUE
Weighted Avg.    0.858    0.450    0.851      0.858    0.854      0.431    0.858     0.895    


=== Confusion Matrix ===

    a    b   <-- classified as
 2821  221 |    a = FALSE
  290  268 |    b = TRUE


> On 21/10/2019, at 2:26 PM, [hidden email] wrote:
>
> ah!  i think the difference is that i was using a `-M 20` parameter to J48, vs. the default `-M 2` .  Sorry about not mentioning that(:  (There is also an extra attribute `hillclimb` that should/could be filtered, but it doesn't change these results.)
> _______________________________________________
> Wekalist mailing list -- [hidden email]
> Send posts to: To unsubscribe send an email to [hidden email]
> 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
_______________________________________________
Wekalist mailing list -- [hidden email]
Send posts to: To unsubscribe send an email to [hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: annotation of J48 decision trees

Rik Belew
ah, thanks again Eibe, that makes sense of it!  i get your same results if i specify "use training data" vs. 10x cross-validation.  (i don't see options that generate both training data AND CV confusion outputs as in yours?)  

And so the stats reported on J48 tree leaves are generated over the training data, correct?  perhaps a note to that effect in your Not-so-FAQ https://waikato.github.io/weka-wiki/not_so_faq/j48_numbers/ ?

Do you think others would find this graph annotation utility useful?
_______________________________________________
Wekalist mailing list -- [hidden email]
Send posts to: To unsubscribe send an email to [hidden email]
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