项目作者: aiff22

项目描述 :
Clojure implementation of the paper "Decision Stream: Cultivating Deep Decision Trees"
高级语言: Clojure
项目地址: git://github.com/aiff22/Decision-Stream.git
创建时间: 2017-09-02T07:29:47Z
项目社区:https://github.com/aiff22/Decision-Stream

开源协议:

下载


Decision Stream





1. Overview [paper]

This repository provides a basic implementation of the Decision Stream regression and classification algorithm. Unlike the classical decision tree approach, this method builds a directed acyclic graph with high degree of connectivity by merging statistically indistinguishable nodes at each iteration.


2. Prerequisites and Dependencies

The dependencies are configured in the pom.xml file.


3. First steps

  • Extract the archive data.gz with training data by running tar -xvzf data.gz
  • Optional: rebuild decision-stream.jar with Leiningen (lein uberjar) or Maven (mvn package).


4. Train the model

  1. java -jar decision-stream.jar base-directory train-data train-answers test-data test-answers learning_mode significance-threshold

The program takes 7 input parameters:

base-directory - path to the dataset

train-data - file with training data

train-answers - file with training answers

test-data - file with test data

test-answers - file with test answers

learning_mode: classification or regression - classification or regression problem

significance-threshold - threshold for merging/splitting operations

Example:

  1. java -jar decision-stream.jar data/ailerons/ train_data.csv train_answ.csv test_data.csv test_answ.csv regression 0.02


5. Provided datasets

The datasets prepared for training in the data folder: