For ML-Flex to run, the following prerequisites may be necessary:

  1. The Java SDK must be installed. This software comes preinstalled on many systems or can be downloaded from here. ML-Flex was designed and tested on Java 1.6. It should work with earlier or later versions of Java, but this has not been tested. Once Java is installed, make sure the computer's path is configured properly to point to it. You can test this by typing "javac -version" at the command line. If it is working properly, it will list the version of Java that is installed. The default configuration of ML-Flex should work on any operating system that can run Java.

  2. By default, ML-Flex can execute machine-learning algorithms that are included in the Weka data-mining software. However, with some extra configuration, ML-Flex can also interface with the Orange machine-learning framework, the C5.0 Decision Trees software, and the R statistical package. To interface with these third-party packages, additional software and configuration will be necessary. Please visit the respective sites of these third-party packages for information on how to install and configure them. The Config/README file also contains information about how to configure ML-Flex to use them after they have been installed.

  3. The "ant" build tool may also need to be installed if you desire to modify the Java code and recompile it. This is not a necessary step and will not be required for most users. This tool comes preinstalled on many systems or can be downloaded from here. You can test whether ant has been installed and is accessible by typing "ant -version" at the command line; if it is working properly, the ant version will be indicated.

  4. One of the main features of ML-Flex is that it can be executed in parallel, not only on a single machine but also across multiple computers (for example, in a cluster-computing environment). When running ML-Flex across multiple computers, it is essential that a shared file system be available to all computers. This is a feature present on many cluster-computing systems that support submission of jobs as batches; otherwise, similar functionality may be achieved using the Network File System protocol on UNIX-based systems or a shared network drive on Windows. As ML-Flex executes on any given computing node, it retrieves and stores files that must be accessible to other nodes in order to communicate (indirectly).

Table of Contents

Introduction to ML-Flex


Configuring Algorithms

Creating an Experiment File

List of Experiment Settings

Running an Experiment

List of Command-line Arguments

Executing Experiments Across Multiple Computers

Modifying Java Source Code

Creating a New Data Processor

Third-party Machine Learning Software

Integrating with Third-party Machine Learning Software

About Ensemble Learners