Add DecisionTreeLeaf.getNodeImpurityDecrease test (#261)
This commit is contained in:
parent
66ca874062
commit
e156076539
|
@ -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> </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));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue