You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将tree_vote中的类别投票从取多数改为取树预测均值

修改tree_vote函数实现均值预测

要把原函数的多数投票逻辑改成取各树预测结果的均值,只需要替换掉投票计算的核心代码即可,具体修改如下:

def tree_vote(forest, data):
    # 将所有预测结果添加到列表中
    predictions = []
    for tree in forest:
        predictions.append(predict(data, tree))

    # 构建每个样本的预测结果列表
    predictions_per_object = list(zip(*predictions))

    # 每个样本的最终预测结果改为所有树预测值的均值
    voted_predictions = []
    for obj in predictions_per_object:
        # 计算当前样本所有树预测结果的平均值
        mean_pred = sum(obj) / len(obj)
        voted_predictions.append(mean_pred)
    return voted_predictions

train_answers = tree_vote(my_forest_1, train_data)
test_answers = tree_vote(my_forest_1, test_data)

关键修改点:

  • 移除了原代码中max(set(obj), key=obj.count)的多数投票逻辑
  • 替换为sum(obj) / len(obj),直接计算当前样本所有树预测结果的算术平均值
  • 如果需要对均值进行取整(比如预测结果原本是整数类别),可以将mean_pred改为round(sum(obj)/len(obj))或者根据需求做其他处理

内容的提问来源于stack exchange,提问作者Toshik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:01:05