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