溫馨提示×

在PHP中用遞歸函數(shù)構(gòu)建決策樹

PHP
小樊
82
2024-04-26 20:29:52
欄目: 編程語言

在PHP中構(gòu)建決策樹可以使用遞歸函數(shù)來實現(xiàn)。以下是一個簡單的示例代碼:

<?php

// 定義一個簡單的決策樹結(jié)構(gòu)
$decision_tree = [
    'outlook' => [
        'sunny' => [
            'humidity' => [
                'high' => 'no',
                'normal' => 'yes'
            ]
        ],
        'overcast' => 'yes',
        'rainy' => [
            'windy' => [
                'true' => 'no',
                'false' => 'yes'
            ]
        ]
    ]
];

// 定義遞歸函數(shù)來遍歷決策樹并返回結(jié)果
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;
        }
    }
}

// 測試數(shù)據(jù)
$data = [
    'outlook' => 'sunny',
    'humidity' => 'normal'
];

// 預(yù)測結(jié)果
$result = predict($data, $decision_tree);
echo $result; // 輸出:yes

在上面的示例中,我們定義了一個簡單的決策樹結(jié)構(gòu),并使用遞歸函數(shù)predict來遍歷決策樹并返回結(jié)果。我們傳入測試數(shù)據(jù)$data,并輸出預(yù)測結(jié)果。通過遞歸函數(shù)的調(diào)用,我們可以根據(jù)決策樹的規(guī)則來預(yù)測結(jié)果。您可以根據(jù)自己的需求和數(shù)據(jù)結(jié)構(gòu)來調(diào)整和擴展這個示例代碼。

0