多类别分类的概率阈值

时间:2020-07-27 15:24:41

标签: python random-forest multiclass-classification

我正在Python中使用随机森林将数据分为6类。我的数据是X,Y,Z坐标,一些几何特征和标签。我正在使用几何特征和标签来使用训练集(我的数据中的随机70%)训练分类器。我也想在测试集中使用50%的概率阈值(其余30%的数据),因此将预测概率小于50%的数据分配给6类,该6类代表未知数,其余部分通常从0到5。但是,我希望输出的预测标签与测试集中的顺序相同,因此为了可视化目的,我可以轻松地将预测标签与XYZ坐标关联。我该如何在Python中实现呢?

1 个答案:

答案 0 :(得分:0)

如果我理解您的权利,如果您的五个班级中没有一个的概率> 0.5,您是否将输入分配为名为predict_proba的第六班?

您可以将 pred = RF.predict_proba(X_test) #pred #[[0.2,0.3,0.1,0.40], #[0.8,0.1,0.05,0.05,0]] 方法用于RandomForest(RF)类。它为您所有课程(例如一个样本)提供了“概率”

unknown

我们将第一个分配为pred = RF.predict_proba(X_test) classes = [6 if sum(p<0.5)==5 else np.argmax(p)+1 for p in pred] (第6类),第二个分配为第1类。

然后您可以在整个测试集中使用它

{{1}}