我目前在使用sklearn的Ridge分类器,并希望将此分类器与来自sklearn和其他库的分类器集合起来。为了实现这一点,最好提取一个给定输入属于类别列表中每个类别的概率。目前,我正在使用classes与model.decision_function(x)的输出进行压缩,但这返回超平面距离,而不是直接的概率。这些距离值从大约-1到大约1变化。
distances = dict(zip(clf.classes_, clf.decision_function(x)[0]))
我该如何将这些距离转换为更具体的概率集合(一系列正值,其总和为1)?我想要像sklearn中SVC的clf.predict_proba()
那样的东西。
RidgeClassifier
上没有predict_proba
,因为它不容易被解释为概率模型。可以使用逻辑变换或在[-1, 1]处进行阈值处理,并将其映射到[0, 1],但这两种方法都是hack。 - Fred Foo