我对scikit非常新手,正在尝试通过scikit的Python库解决一个用例。
我有一个这样的CSV文件:
Label
, userId
, message
, user_like
,user_dislike
1 , 1, “这是一条好消息”, 4,5
0, 1, “这是一条坏消息”,3,4
1, 2, “这是一条好消息” , 4,5
0,1, “这又是一条坏消息” , 6,7
如何使用上述数据训练MultinomialNB分类器?我的挑战是数据中既包含文本数据(消息)也包含数值数据。
我想预测由userId 1
发布的”这是一条新消息
“是否为垃圾信息(0,1)..
所以 ? , 1 , "这是一条新消息" , 3 4
谢谢
回答:
一个简单而有效的想法是为文本和数值数据分别训练分类器。确保在处理过程中进行归一化。
现在,当你有两个不同的分类器时,你可以结合它们的输出结果来预测是否为垃圾信息。查看 http://scikit-learn.org/stable/modules/ensemble.html
为了进一步改进,你可以尝试使用每个分类器的内部概率分数,将它们作为特征来训练另一个分类器进行最终预测。这被称为堆叠(stacking)。