在PHP中构建决策树可以使用递归函数来实现。以下是一个简单的示例代码:
<?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
,并输出预测结果。通过递归函数的调用,我们可以根据决策树的规则来预测结果。您可以根据自己的需求和数据结构来调整和扩展这个示例代码。