From 287ff7a685e6094108a507a0049b56cc3a32421d Mon Sep 17 00:00:00 2001 From: Danielius Date: Sun, 22 Nov 2015 19:12:51 +0200 Subject: [PATCH 1/3] Initialize attributes and typo fix --- examples/discrete-id3.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/discrete-id3.rb b/examples/discrete-id3.rb index ef44020..6f06c79 100644 --- a/examples/discrete-id3.rb +++ b/examples/discrete-id3.rb @@ -5,6 +5,8 @@ require 'decisiontree' # Read in the training data training = [] +attributes = nil + File.open('data/discrete-training.txt', 'r').each_line do |line| data = line.strip.split(',') attributes ||= data @@ -45,7 +47,7 @@ File.open('data/discrete-test.txt', 'r').each_line do |line| v end end - training.push(test_data) + test.push(test_data) end # Let the tree predict the output and compare it to the true specified value From b8b315a051de54949031ae4ce0dfe191cb3b57c7 Mon Sep 17 00:00:00 2001 From: Danielius Date: Sun, 22 Nov 2015 19:14:01 +0200 Subject: [PATCH 2/3] Initialize attributes fix --- examples/continuous-id3.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/continuous-id3.rb b/examples/continuous-id3.rb index c980d1a..42f4432 100644 --- a/examples/continuous-id3.rb +++ b/examples/continuous-id3.rb @@ -6,6 +6,8 @@ include DecisionTree # Read in the training data training = [] +attributes = nil + File.open('data/continuous-training.txt', 'r').each_line do |line| data = line.strip.chomp('.').split(',') attributes ||= data From 823dd5e5fe984d31839b4a48fe6c392f68c3a15e Mon Sep 17 00:00:00 2001 From: Danielius Date: Mon, 23 Nov 2015 14:01:21 +0200 Subject: [PATCH 3/3] Cast threshold to string in gsub --- lib/decisiontree/id3_tree.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/decisiontree/id3_tree.rb b/lib/decisiontree/id3_tree.rb index 4e4c340..b0702c8 100755 --- a/lib/decisiontree/id3_tree.rb +++ b/lib/decisiontree/id3_tree.rb @@ -190,7 +190,7 @@ module DecisionTree end label_text = "#{key} ''" if type(attr[0].attribute) == :continuous - label_text.gsub!("''", attr[0].threshold) + label_text.gsub!("''", attr[0].threshold.to_s) end [parent_text, child_text, label_text]