随机森林分类器:哪个类对应概率



我正在使用pyspark.ml.classification

RandomForestClassifier

我在二进制类数据集上运行模型并显示概率。

我在Col概率中有以下内容:

+-----+----------+---------------------------------------+
|label|prediction|probability                            |
+-----+----------+---------------------------------------+
|0.0  |0.0       |[0.9005918461098429,0.0994081538901571]|
|1.0  |1.0       |[0.6051335859900139,0.3948664140099861]|
+-----+----------+---------------------------------------+

我有一个2个元素的列表,显然与预测类的概率相对应。

我的问题:概率[0始终对应于预测值,而在火花文档中,尚不清楚!

我将您的问题解释为问:列"预测"下的数组中的第一个元素始终与"预测类"相对应,您的意思是标签随机森林分类器预测该观察应该具有。

如果我有正确的话,答案是肯定的。

两个probability行中阵列中的项目可以读取为模型告诉您:

['My confidence that the predicted label = the true label', 'My confidence that the label != the true label']

如果预测了多个标签,那么您将有模型告诉您:

['My confidence that the label I predict = specific label 1', 'My confidence that the label I predict = specific label 2', ...'My confidence that the label I predict = specific label N']

这是您要预测的n个标签索引(这意味着您必须谨慎对标签的结构化方式谨慎(。

也许有助于查看此答案。您可以做类似的事情:

model = pipeline.fit(trainig_data) predictions = model.transform(test_data) print predictions.show(10)

(使用相关管道和示例中的数据。(

这将向您显示每个班级的概率。

我在这里发布了几乎相同的问题,我认为答案可能会对您有所帮助:Scala:如何知道哪种概率与哪个类?

答案是在模型拟合之前。

为了拟合模型,我们在目标上使用了标记器。此标签索引器通过下降频率将目标转换为索引。

ex:如果在我的目标中,我有20%的" AA",而" bb"标签索引的80%将创建一个列"标签",该列为" bb"的值0,而" aa"的值为1(因为我" bb"比" aa"频繁(

当我们安装一个随机森林时,概率对应于频率的顺序。

在二进制分类中:

  • 第一个proba =该类是火车集中最常见的类概率
  • 第二个概率=概率是该类是火车集中较少频繁的类

最新更新