From 3e2708de178c2a5c278036c7f63b81eff9bd4b0b Mon Sep 17 00:00:00 2001 From: Marcin Michalski Date: Mon, 28 Aug 2017 13:00:24 +0200 Subject: [PATCH] Fix #120 (#121) * Fix #120 * Add DecisionTreeLeafTest --- .../DecisionTree/DecisionTreeLeaf.php | 4 ++- .../DecisionTree/DecisionTreeLeafTest.php | 26 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 tests/Phpml/Classification/DecisionTree/DecisionTreeLeafTest.php diff --git a/src/Phpml/Classification/DecisionTree/DecisionTreeLeaf.php b/src/Phpml/Classification/DecisionTree/DecisionTreeLeaf.php index 53c3386..9002458 100644 --- a/src/Phpml/Classification/DecisionTree/DecisionTreeLeaf.php +++ b/src/Phpml/Classification/DecisionTree/DecisionTreeLeaf.php @@ -138,9 +138,11 @@ class DecisionTreeLeaf } else { $col = "col_$this->columnIndex"; } - if (!preg_match('/^[<>=]{1,2}/', $value)) { + + if (!preg_match('/^[<>=]{1,2}/', strval($value))) { $value = "=$value"; } + $value = "$col $value
Gini: ".number_format($this->giniIndex, 2); } diff --git a/tests/Phpml/Classification/DecisionTree/DecisionTreeLeafTest.php b/tests/Phpml/Classification/DecisionTree/DecisionTreeLeafTest.php new file mode 100644 index 0000000..72f1b95 --- /dev/null +++ b/tests/Phpml/Classification/DecisionTree/DecisionTreeLeafTest.php @@ -0,0 +1,26 @@ +value = 1; + $leaf->columnIndex = 0; + + $rightLeaf = new DecisionTreeLeaf(); + $rightLeaf->value = '<= 2'; + $rightLeaf->columnIndex = 1; + + $leaf->rightLeaf = $rightLeaf; + + $this->assertEquals('
col_0 =1
Gini: 0.00
 No |
col_1 <= 2
Gini: 0.00
', $leaf->getHTML()); + } +}