Orange Forum • View topic - C4.5 build help

C4.5 build help

Report bugs (or imagined bugs).
(Archived/read-only, please use our ticketing system for reporting bugs and their discussion.)
Forum rules
Archived/read-only, please use our ticketing system for reporting bugs and their discussion.

C4.5 build help

Postby Colin » Fri Apr 03, 2009 15:15

I'm trying to build c4.5 on my version of orange and have been following the directions on the site, but now come to a problem:
In my version of orange (1.0 windows) and python (2.5 windows) i can not locate the files "buildc45.py" or "ensemble.c" though everything up to this point has gone smoothly.

Any help?

Colin

Postby Janez » Mon Apr 13, 2009 13:43

We have to get rid of this stupid C45 building...

For now you can download the missing files from here: http://www.ailab.si/svn/orange/trunk/orange/

By the way, do you really need the genuine c4.5? Can't you just use the Orange's equivalent?

Postby GuyHoozdis » Tue Apr 14, 2009 21:32

[quote]We have to get rid of this stupid C45 building[\quote]
I don't think the steps you provide are too much to ask of us. I did have to go looking for "buildc45.py" and "ensemble.c", but after a re-read the instructions closer I was able to build with no problems.

[quote]By the way, do you really need the genuine c4.5? Can't you just use the Orange's equivalent?[\quote]
Which would be Orange's equivalent? I would like to look into this option more; would you mind elaborating. Thanks.

Postby Janez » Tue Apr 14, 2009 21:37

It's called Tree Learner (or orngTree.TreeLearner, if you write a script in Python).

Postby GuyHoozdis » Tue Apr 14, 2009 22:08

I must have not configured my TreeLearner correctly, because I was not able to get comparable models when using C45 vs. TreeLearner. I understand that they will be different, but analyzing the performance over examples not used in training showed that the model built with C45 correctly classified more examples than the TreeLearner model.

I will play around with the input options to TreeLearner some more. It seems like the TreeLearner could be configured to preform similar to C45, but also could be given input configuration options that are not supported by Quinlan's C45 algorithm. Is that right? The TreeLearner is flexible enough to do C45 and also other Tree based learning?

Postby GuyHoozdis » Sat Apr 18, 2009 18:58

When building orange on a 64 bit machine I had to make the following changes to the source. I have a feeling that I am missing an input to gcc or an env var that describes where standard headers and libs can be found.

I don't think this is a bug, but if anybody knows what I am doing wrong feel free to let me know.

Index: graph.cpp
===================================================================
--- graph.cpp (revision 7512)
+++ graph.cpp (working copy)
@@ -19,7 +19,7 @@
Contact: janez.demsar@fri.uni-lj.si
*/

-
+#include <algorithm>
#include "graph.ppp"

double _disconbuf;
Index: c4.5.cpp
===================================================================
--- c4.5.cpp (revision 7512)
+++ c4.5.cpp (working copy)
@@ -126,7 +126,7 @@

void dynloadC45(char pathname[])
{
- void *handle = dlopen(pathname, 0 /*dlopenflags*/);
+ void *handle = dlopen(pathname, RTLD_LAZY);
if (handle == NULL)
raiseErrorWho("C45Loader", dlerror());


Return to Bugs



cron