用 DeepSeek 学随机森林时,把问题限制成可验证的小任务:每棵树如何输出概率,森林怎样汇总这些概率。下面提供学习提示词,再用本地 scikit-learn 训练三棵浅树,检查森林概率等于各树概率的平均。
环境与运行方法
本文代码在 Windows、Python 3.11 的本地独立环境执行通过。以下数据全部为人为构造的教学样本,不是客户数据,也不是业务效果测试。

新建一个空目录,在终端执行安装命令,把后面的完整代码保存为 demo.py,再执行 python demo.py。文件输出均保存在运行目录,请先在空目录练习。
python -m pip install numpy==2.4.6 scikit-learn==1.9.1
学习提示词
在已经可用的官方对话界面粘贴下面的学习任务。模型生成的解释和代码需要你核对;本文没有调用模型生成这一段输出。
我在学习 scikit-learn RandomForestClassifier。请用二分类、两列数值特征、3棵浅树解释:bootstrap 是什么,随机选择特征是什么,predict_proba 如何汇总各树概率。不要编造准确率。给出一个能核对森林概率等于树概率均值的最小 Python 示例,并解释小样本限制。
先理解三个不同环节
bootstrap 对训练样本进行有放回抽样,不同树通常看到不同样本集合。分裂时选择的候选特征还受 max_features 约束。本例有两个特征,设置 max_features=1、max_depth=2,便于观察浅树的行为。
scikit-learn 的分类森林概率是各树概率的平均。单树概率来自叶节点中的类别分布,因此森林预测不宜简单理解成“每棵树只投一个硬标签,取最多票”。当单树叶节点不是纯类时,两种汇总可以不同。
核对模型解释,而不是信任生成文字
代码用训练后的 estimators_ 对同一条查询分别计算各树的第二列概率,再求均值。先核对森林 classes_ 是 [0,1];这个例子树的类编码与森林二分类编码一致,复杂标签场景应额外检查类别映射。
random_state 固定本例的随机性,输出可用于学习这条接口规则。三棵树与八条样本只是演示,不能据此决定真实任务的树数、深度或效果,也不能把训练集结果当泛化评估。
可复制的完整代码
import numpy as np
from sklearn.ensemble import RandomForestClassifier
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1], [3, 0], [3, 1]])
y = np.array([0, 0, 0, 1, 1, 1, 1, 1])
forest = RandomForestClassifier(n_estimators=3, max_depth=2, max_features=1, random_state=7)
forest.fit(X, y)
query = np.array([[2, 0]])
tree_probs = np.array([tree.predict_proba(query)[0, 1] for tree in forest.estimators_])
forest_prob = forest.predict_proba(query)[0, 1]
print("classes", forest.classes_.tolist())
print("tree_class1_probabilities", tree_probs.round(4).tolist())
print("mean", round(float(tree_probs.mean()), 4))
print("forest_class1_probability", round(float(forest_prob), 4))
assert forest.classes_.tolist() == [0, 1]
assert np.isclose(forest_prob, tree_probs.mean())
运行结果与核对方法
下面是本文教学代码在上述本地环境中的实际输出。浮点数末位可能随依赖版本变化。
classes [0, 1]
tree_class1_probabilities [0.0, 0.0, 1.0]
mean 0.3333
forest_class1_probability 0.3333
核对 classes 为 [0,1],tree_class1_probabilities 有3个值,mean 与 forest_class1_probability 相等。向 DeepSeek 追问时,把这组真实输出作为材料,要求解释每个量;若它说森林始终等于硬投票比例,用该检查区分概率平均与硬标签投票。
使用边界与常见问题
提示词是学习任务设计,本文没有调用 DeepSeek 取得回答;代码与展示结果在本地实际运行。这个例子没有独立测试集,不提供随机森林性能或不同模型优劣结论。
为什么同一组输入每次树看起来不同?
没有固定 random_state 时,随机抽样和特征选择会改变树。固定种子能复现本例的随机过程,但跨版本或不同执行环境仍应核对实际结果。
官方资料
接口与参数依据以下官方资料核对(2026年10月1日)。示例验证只覆盖本文输入和步骤。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30749.html