我的输出有5个类别,代表学生预测的等级 – 1, 2, 3, 4, 5。
当我输入我的值时,使用predict_proba,我可以得到每个类别的概率。
例如:
类别1: 0.1 类别2: 0.4: 类别3: 0.3 类别4: 0.05 类别5: 0.15
然而,我从中得到的唯一信息是预测结果是:类别2,因为它的概率最高。我如何将这些概率转换为更具体的预测,例如2.4或2.9?其中2等于类别2。
这是可能的吗?如果可以,如何实现?
非常感谢您的宝贵时间。
回答:
这是一个快速实现的方法:
probs = LRC.predict_proba(x)class_indexes = np.argmax(probs,axis=1)max_probs = probs[np.arange(len(x)),class_indexes]class_output = lrc.classes_[class_indexes]class_prob_list = zip(class_output,max_probs)print [str(cls)+'.'+str(prob) for cls,prob in class_prob_list]