随机森林多分类任务中如何获取单个预测类别的预测概率
实现方法
你直接调用RandomForestClassifier自带的predict_proba方法即可获取每个类别的预测概率,该方法的输出顺序和模型的classes_属性顺序完全对应,classes_中存储了你训练时使用的6个类别标签。
代码示例
第一步:先确认类别对应顺序
# 输出的类别列表顺序和后续概率输出的列顺序一一对应 print(classifier.classes_)
第二步:获取预测概率
# 获取整个测试集所有样本的各类别预测概率 y_pred_proba = classifier.predict_proba(x_test) # 获取你给出的单个坐标样本的各类别预测概率 sample_proba = classifier.predict_proba([[0.30815389752388, 0.15675216913223267, 0.30418527126312256, 0.13528722524642944, 0.27739858627319336, 0.13911670446395874, 0.1855921745300293, 0.2289518266916275, 0.3659476339817047, 0.20354066789150238, 0.33502599596977234, 0.24855738878250122, 0.4515098035335541, 0.258819043636322, 0.5094516277313232, 0.2201528549194336, 0.5327972173690796, 0.24092578887939453, 0.2740940749645233, 0.47397956252098083, 0.3831675946712494, 0.46537867188453674, 0.24977758526802063, 0.6157410144805908, 0.3534936010837555, 0.4986037611961365, 0.3416776955127716, 0.882462739944458, 0.2505697011947632, 0.7096155881881714]])
返回的sample_proba是形状为(1,6)的数组,每个位置的数值对应对应类别的预测概率,所有数值总和为1。如果要获取单个指定类别的概率,找到该类别在classes_中的索引,直接取值即可:
# 示例:获取索引为1的类别的预测概率 target_class_proba = sample_proba[0][1]
内容的提问来源于stack exchange,提问作者Raxz
相关产品推荐
相关产品推荐

