Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best learning algorithm to make a decision tree in java?

I have a datasets with information like age, city, age of children, ... and a result (confirm, accept).

To help modelisation of "workflow", I want to create automatically a decision tree based on previous datasets.

I have take a look at http://en.wikipedia.org/wiki/Decision_tree_learning and I know that the problem is clearly not obvious.

I just want to have advice on some algorithm or some libs on this subject what can help me in the contruction of a decision tree based on samples.

like image 889
X-Blaster Avatar asked Oct 13 '09 12:10

X-Blaster


People also ask

Which is the best decision tree algorithm?

The ID3 algorithm builds decision trees using a top-down greedy search approach through the space of possible branches with no backtracking. A greedy algorithm, as the name suggests, always makes the choice that seems to be the best at that moment.

Which is the learning algo for a decision tree?

Decision Trees A decision tree is a non-parametric supervised learning algorithm, which is utilized for both classification and regression tasks. It has a hierarchical, tree structure, which consists of a root node, branches, internal nodes and leaf nodes.

Which algorithm can be used for automatically creating decision trees?

The most widely used algorithm for building a Decision Tree is called ID3. ID3 uses Entropy and Information Gain as attribute selection measures to construct a Decision Tree.


2 Answers

You should take a look at Weka, a free Java-based supervised learning suite.

After converting your data into Weka's simple text-based .arff format, you should be able to use the GUI or command-line interface to train and test a variety of different classifiers on that data, including:

  • decision trees
  • neural networks
  • rule-based systems
  • support vector machines (SVMs)
  • various types of regression

Experimenting with this interface should allow you to easily try different classifiers and training parameters to determine which ones perform the best on your data.

You can also use an API to integrate Weka into your own source code.

like image 115
Nate Kohl Avatar answered Nov 12 '22 19:11

Nate Kohl


If you want to compare performance of different types of decision trees from Weka, see benchmark results collected in TunedIT.org:

http://tunedit.org/results?d=UCI&a=Weka*tree.

Play with drop-down lists and name patterns of algorithms/datasets to choose which results should be presented.

like image 37
Marcin Avatar answered Nov 12 '22 21:11

Marcin