NOTE: This is a very OLD page. Please see Steven Salzberg's current home page for more updated information, at

The OC1 decision tree software system

OC1 (Oblique Classifier 1) is a decision tree induction system designed for applications where the instances have numeric (continuous) feature values. OC1 builds decision trees that contain linear combinations of one or more attributes at each internal node; these trees then partition the space of examples with both oblique and axis-parallel hyperplanes. OC1 has been used for classification of data representing diverse problem domains, including astronomy (a paper is available here), gene finding (see the GlimmerM system, here), and others. A detailed technical decription of OC1 can be found in our 1994 paper in the Journal of Artificial Intelligence Research . A postscript version of this paper is provided with the OC1 software package.

OC1 is written in ANSI C, and incorporates a number of features intended to support flexible experimentation on a variety of types of data. We have provided support for cross validation experiments, generation of artificial data, and graphical display of data sets and decision trees. The OC1 software allows the user to create both standard, axis-parallel decision trees and oblique (multivariate) trees. OC1 has been used on Suns, SGIs and DECs in UNIX environements and on PCs under Linux and DOS environements. (TheDOS version was ported by Betak Juraz and is available separately from the ML-Archive at GMD.)

OC1 has been available free of charge for research purposes since 1993 from the Johns Hopkins University Computer Science Department. About 1500 users from over 35 countries had retrieved OC1 from this site by September 1995, and after
that we stopped counting.

The OC1 system is completely free and unrestricted.  Commercial users used to be required to obtain a license for OC1. However, as of 2001 we dropped this requirement and the code is now both "open source" and free to all.   Redistribution, re-engineering, and any other changes are all permitted.  We'd appreciate a citation to our paper in any publications, if you publish something, but that's up to you.

You can get a copy of OC1 here in gzipped tarfile format. The tarfile contains a plain-text version of this announcement, all of OC1's source code and documentation, and a compressed postscript file containing the above-mentioned JAIR paper.  After retrieving OC1.tar.gz, place it in a directory named OC1 and do the following:

UNIX_prompt > gunzip oc1.tar.gz
UNIX_prompt > tar -xvf oc1.tar

This will create a subdirectory with the current version number for the software, and loads all files. Read the file "README", to get cues to other documentation files, and to compile and run the software.

Send comments, questions or suggestions to:
Sreerama K. Murthy ( or Steven Salzberg at the Center for Computational Biology at Johns Hopkins University.