I'm considering building MATLAB and R interfaces to Ross Quinlan's C5.0 (for those not familiar with it, C5.0 is a decision tree algorithm and software package; an extension of C4.5), and I am trying to get a sense of the components I would need to write.

The only documentation I found for C5.0 is here, which is a tutorial for See5 (a Windows interface to C5.0?) . The tar file comes with a Makefile, but no Readme files or any additional documentation.

From what I read in the tutorial above, C5.0 uses an ASCII-based representation to handle inputs and outputs, and I am also considering building an interface that passes binary data directly between MATLAB or R and C5.0. Is C5.0's data representation used by any other machine-learning/classification software?

Has anybody tried building a MATLAB or an R interface to ID3, C4.5 or C5.0 before?


  • $\begingroup$ Is this project going on? I tried to install the package C5.0 in R, but failed. $\endgroup$
    – user4938
    Jun 8, 2011 at 14:05
  • $\begingroup$ Did you ever made an implementation of C5 for Matlab? If you did, it would be extremely useful. I am looking at interfacing C5 with Matlab right now, but C5 seems a bit messy (cannot just pass text files to and from it since it uses difficult formatting). $\endgroup$
    – dcm29
    Feb 3, 2012 at 5:06

4 Answers 4


That sounds like a great idea, especially as the page you link to shows that C5.0 is now under GPL.

I have some experience wrapping C/C++ software to R using Rcpp; I would be happy to help.

  • 1
    $\begingroup$ thanks a lot for offering to help. We have a couple of students in our lab who may look into this. We'll let you know as soon as we figure things out :) $\endgroup$ Feb 18, 2011 at 16:08

Interfacing C/C++ code to MATLAB is pretty straightforward, all you have to do is create a MEX gateway function to handle the conversion of parameters and return parameters. I have experience in making MEX files to do this sort of thing and would be happy to help.

  • $\begingroup$ that sounds great! Thanks for being willing to help. We have a couple of students in our lab and they might reach out to you if we need help. $\endgroup$ Feb 18, 2011 at 16:10


Now on CRAN:



We've been working on this for a bit now (starting with Cubist then working on C5.0).

If you'd like to contribute:


was created recently and we should be checking the initial code in.

We've had access to the Cubist sources for a while now (but there was an explicit agreement not to link it to other sw) and been debating the different options for incorporating the code, but I thin


The C5.0 (Linux) documentation is at http://rulequest.com/see5-unix.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.