public function getHTML($columnNames = null)
    {
        if ($this->isTerminal) {
            $value = "<b>$this->classValue</b>";
        } else {
            $value = $this->value;
            if ($columnNames !== null) {
                $col = $columnNames[$this->columnIndex];
            } else {
                $col = "col_$this->columnIndex";
            }
            if (!preg_match("/^[<>=]{1,2}/", $value)) {
                $value = "=$value";
            }
            $value = "<b>$col $value</b><br>Gini: ". number_format($this->giniIndex, 2);
        }
        $str = "<table ><tr><td colspan=3 align=center style='border:1px solid;'>
				$value</td></tr>";
        if ($this->leftLeaf || $this->rightLeaf) {
            $str .='<tr>';
            if ($this->leftLeaf) {
                $str .="<td valign=top><b>| Yes</b><br>" . $this->leftLeaf->getHTML($columnNames) . "</td>";
            } else {
                $str .='<td></td>';
            }
            $str .='<td>&nbsp;</td>';
            if ($this->rightLeaf) {
                $str .="<td valign=top align=right><b>No |</b><br>" . $this->rightLeaf->getHTML($columnNames) . "</td>";
            } else {
                $str .='<td></td>';
            }
            $str .= '</tr>';
        }
        $str .= '</table>';
        return $str;
    }