Add DecisionTreeLeaf.getNodeImpurityDecrease test (#261)

This commit is contained in:
Marcin Michalski 2018-03-07 23:16:25 +01:00 committed by Arkadiusz Kondas
parent 66ca874062
commit e156076539
1 changed files with 24 additions and 0 deletions

View File

@ -23,4 +23,28 @@ class DecisionTreeLeafTest extends TestCase
$this->assertEquals('<table ><tr><td colspan=3 align=center style=\'border:1px solid;\'><b>col_0 =1</b><br>Gini: 0.00</td></tr><tr><td></td><td>&nbsp;</td><td valign=top align=right><b>No |</b><br><table ><tr><td colspan=3 align=center style=\'border:1px solid;\'><b>col_1 <= 2</b><br>Gini: 0.00</td></tr></table></td></tr></table>', $leaf->getHTML());
}
public function testNodeImpurityDecreaseShouldBeZeroWhenLeafIsTerminal(): void
{
$leaf = new DecisionTreeLeaf();
$leaf->isTerminal = true;
$this->assertEquals(0.0, $leaf->getNodeImpurityDecrease(1));
}
public function testNodeImpurityDecrease(): void
{
$leaf = new DecisionTreeLeaf();
$leaf->giniIndex = 0.5;
$leaf->records = [1, 2, 3];
$leaf->leftLeaf = new DecisionTreeLeaf();
$leaf->leftLeaf->records = [5, 2];
$leaf->rightLeaf = new DecisionTreeLeaf();
$leaf->rightLeaf->records = [];
$leaf->rightLeaf->giniIndex = 0.3;
$this->assertSame(0.75, $leaf->getNodeImpurityDecrease(2));
}
}