在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)整和擴展這個示例代碼。