【问题标题】:Scikit : How to resolve this usecaseScikit:如何解决这个用例
【发布时间】:2026-01-30 08:25:01
【问题描述】:

我对 scikit 非常陌生,并且有一个我试图通过 scikit python 库解决的用例。

我有这样的 CSV 文件:

Label,userId,message,user_like,user_dislike

1 , 1, “这是个好消息”, 4,5

0, 1, "This is bad message",3,4

1, 2, "这是个好消息" , 4,5

0,1, "又坏了", 6,7

如何从上述数据中训练分类器 MultinomialNB。 我的挑战是它既包含文本数据(消息)也包含数字数据。

我想预测userId 1发布的消息“this is new message”是否是垃圾邮件(0,1)..

所以? , 1 , "this is new message" , 3 4

谢谢

【问题讨论】:

  • 训练它根据什么来预测什么?
  • Ok .. 所以我想预测用户 ID 1 发布的消息“这是新的消息”是否是垃圾邮件(0,1).. 输入数据将是 ?,1,这是新消息”,7,8 ..
  • 我希望有人告诉我他们为什么不赞成这个问题???
  • @voila 问题不是很清楚。看看标题 - 它是多么没有意义。相反,您一定问过“如何在 sklearn 中结合文本和数字特征”。添加了我的答案。希望对您有所帮助。

标签: python machine-learning scikit-learn


【解决方案1】:

一个简单而有效的想法是为文本和数字数据训练单独的分类器。确保在进行过程中进行标准化。

现在,如果您有两个不同的分类器,您可以结合它们的结果来预测它是否是垃圾邮件。检查http://scikit-learn.org/stable/modules/ensemble.html

为了进一步改进它,您可以尝试使用每个分类器的内部概率分数,将它们用作特征来训练另一个分类器进行最终预测。这称为堆叠。

【讨论】: