在scikit learn中,我使用MultinomialNB对标记的文本数据进行多类分类 . 虽然预测我使用了多项式NB的“predict_proba”功能
clf=MultinomialNB()
print(clf.fit(X_train,Y_train))
clf.predict_proba(X_test[0])
结果我得到了每个类的概率值向量,其中加起来为1.我知道这是因为softmax交叉熵函数 .
array([[0.01245064,0.02346781,0.84694063,0.03238112,0.01833107,0.03103464,0.03539408]])
我的问题是,在预测我需要使用binary_cross_entropy时,我得到每个类的概率值向量,介于0和1之间,彼此独立 . 那么如何在scikit-learn中进行预测时更改功能?
1 回答
您可以使用以下方法为每个 class 设置日志可能性:
朴素贝叶斯predict_log_proba只需通过上面的函数归一化即可 .