我正在做一个推文分类,每个推文都可以属于少数几个类中的一个。训练集输出作为属于每个类的样本的概率给出。例如:推特#1: C1-0.6,C2-0.4,C3-0.0(C1,C2,C3是类)
我计划使用Scikit learn使用朴素贝叶斯分类器。我在Naiver_bayes中找不到合适的方法。py,它为每一个培训班计算概率。我需要一个分类器,它接受训练集每个类的输出概率。(即:y.shape=[n个样本,n个类])
如何处理数据集以应用朴素贝叶斯分类器?
这并不容易,因为“类概率”可以有很多解释。
在NB分类器和skLearning的情况下,我看到的最简单的程序是:
fit(X,Y,样本权重)
(其中X
是你的X
观察值的矩阵,Y
是上一步的类矩阵,sample\u权重
是上一步的pi矩阵)例如,如果您的训练集由两点组成:
您将它们转换为:
和NB一起训练
X=[[01]、[01]、[13]、[13]]
Y=[1,2,1,2]
sample_weights=[0.6 0.4 0.1 0.9]