在PHP中用递归函数构建决策树

avatar
作者
筋斗云
阅读量:0

在PHP中构建决策树可以使用递归函数来实现。以下是一个简单的示例代码:

  // 定义一个简单的决策树结构 $decision_tree = [     'outlook' => [         'sunny' => [             'humidity' => [                 'high' => 'no',                 'normal' => 'yes'             ]         ],         'overcast' => 'yes',         'rainy' => [             'windy' => [                 'true' => 'no',                 'false' => 'yes'             ]         ]     ] ];  // 定义递归函数来遍历决策树并返回结果 function predict($data, $tree) {     foreach ($tree as $key => $value) {         if (is_array($value)) {             if (isset($data[$key])) {                 return predict($data, $value[$data[$key]]);             }         } else {             return $value;         }     } }  // 测试数据 $data = [     'outlook' => 'sunny',     'humidity' => 'normal' ];  // 预测结果 $result = predict($data, $decision_tree); echo $result; // 输出:yes 

在上面的示例中,我们定义了一个简单的决策树结构,并使用递归函数predict来遍历决策树并返回结果。我们传入测试数据$data,并输出预测结果。通过递归函数的调用,我们可以根据决策树的规则来预测结果。您可以根据自己的需求和数据结构来调整和扩展这个示例代码。