gpt4 book ai didi

Python:如何解释和改进 RandomForest 中的 Predict_proba()

转载 作者:行者123 更新时间:2023-11-30 09:30:29 30 4
gpt4 key购买 nike

所以我使用 sci-kit learns RandomForestClassifier 将天文来源的数据分为三类。为了让我的问题更简单,我在测试集中仅使用了两个来源,并获得了 predict_prob() 分数:

predictions = rf_model.predict(data_test)
probab = rf_model.predict_proba(data_test)

print(probab)
print('True Classifications:', classif_test.values)
print('Predictions', predictions)

给我以下内容:

[[0.29 0.69 0.02]
[0.08 0.92 0. ]]
True Classifications: ['HMXB' 'AGN']
Predictions ['HMXB' 'HMXB']

其中类别顺序为[AGN、HMXB、SNR]。问题是这些预测之一是错误的,而另一个是正确的。

我有几个问题。(a) 如何判断哪个 predict_prob() 分数对应于错误的预测?(b) predict_prob() 到底描述了什么?模型的分类被认为是正确的可能性有多大还是其他什么?(b) 导致预测不准确的类的高概率得分意味着什么?我的数据集是否太小,或者有什么方法可以提高预测概率?

因此,对于我的数据,我有 46 个 HMXB、17 个 AGN 和 3 个 SNR。每个来源都具有三个属性。我知道这是一个很小的数据集,但我想知道它是否太小,以至于随机森林或其他机器学习算法无法给出准确的结果。

最佳答案

对于问题(b)predict_prob() 到底描述了什么?
predict_prob() 将给出标签的概率。
例如,如果您有三个标签 ['A','B','C'] 并且 Predict_prob() 给出 [0.29,0.69,.02],则意味着该特定数据的结果有 0.29 的概率成为 'A' ,“B”的概率为 0.69,“C”的概率为 0.02。

对于问题(a)我如何判断哪个predict_prob()分数对应于错误的预测?
从您发布的输出

[[0.29 0.69 0.02]
[0.08 0.92 0. ]]
Predictions ['HMXB' 'HMXB']

它清楚地表明每个列表中的第二项对应于“HMXB”。另外两个概率(第一项和最后一项)我们需要查看数据并判断。

是的,你的数据很小而且很不平衡。因为与其他两个相比,您有很多“HMXB”样本。尝试为其他标签获取更多样本。

关于Python:如何解释和改进 RandomForest 中的 Predict_proba(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960506/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com