温馨提示×

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

PHP
小樊
84
2024-04-26 20:29:52
栏目: 编程语言

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

0