This module contains the NodeJS Implementation of Decision Tree using ID3 Algorithm
npm install decision-tree
-
Import the module:
var DecisionTree = require('decision-tree');
-
Prepare training dataset:
var training_data = [ {"color":"blue", "shape":"square", "liked":false}, {"color":"red", "shape":"square", "liked":false}, {"color":"blue", "shape":"circle", "liked":true}, {"color":"red", "shape":"circle", "liked":true}, {"color":"blue", "shape":"hexagon", "liked":false}, {"color":"red", "shape":"hexagon", "liked":false}, {"color":"yellow", "shape":"hexagon", "liked":true}, {"color":"yellow", "shape":"circle", "liked":true} ];
-
Prepare test dataset:
var test_data = [ {"color":"blue", "shape":"hexagon", "liked":false}, {"color":"red", "shape":"hexagon", "liked":false}, {"color":"yellow", "shape":"hexagon", "liked":true}, {"color":"yellow", "shape":"circle", "liked":true} ];
-
Setup Target Class used for prediction:
var class_name = "liked";
-
Setup Features to be used by decision tree:
var features = ["color", "shape"];
-
Create decision tree and train model:
var dt = new DecisionTree(training_data, class_name, features);
-
Predict class label for an instance:
var predicted_class = dt.predict({ color: "blue", shape: "hexagon" });
-
Evaluate model on a dataset:
var accuracy = dt.evaluate(test_data);
-
Export underlying model for visualization or inspection:
var treeModel = dt.toJSON();