scikit-learn“使用文本数据教程”忽略了我的目标类别

Posted

技术标签:

【中文标题】scikit-learn“使用文本数据教程”忽略了我的目标类别【英文标题】:scikit-learn "Working with Text Data Tutorial" ignores my target categories 【发布时间】:2015-05-22 14:50:28 【问题描述】:

我正在研究 ML 算法并查看:Scikit-Learn Working with Text Tutorial

现在我尝试使用我自己的训练数据集,其中包含 1 个特征 = 消息,以及从 -2(负面)到 2(正面)的 5 个类别评级。

然后我按照教程中的说明进行操作,但它始终会返回最多 4 个 target_categories 而不是 5 个!

target_categories = ['-2', '-1', '0', '1','2']

print(metrics.classification_report(train_data.Category, predicted,target_names=target_categories))

我只会得到predicted_proba for -2,-1,0,1。例如:[0.2 0.2 0.4 0.4]

为什么 Scikit 只给我一个 4x1 向量而不是 5x1?为什么我的target_categories 中的最后一个值被省略了?

如果我只使用 3,我会得到一个错误:

values = [target_names[i]]
IndexError: list index out of range

非常感谢您的帮助!

【问题讨论】:

我想我找到了问题所在,似乎是我使用的训练数据集太少,而其中没有一个 target_categories。 如果确认,请将该评论作为您问题的答案。 【参考方案1】:

是的,它不起作用的原因是,因为我将训练数据拆分为 50%,而 target_values 并未全部包含在训练数据中。下次我会洗牌。

【讨论】:

以上是关于scikit-learn“使用文本数据教程”忽略了我的目标类别的主要内容,如果未能解决你的问题,请参考以下文章

LibSVM 和 scikit-learn 的不同精度

python (Scikit-Learn) 和 R (e1071) 的不同精度

在 sklearn 中制作网格搜索功能以忽略空模型

无法导入 Scikit-Learn

Scikit-learn 是不是发布了 python GIL?

初试scikit-learn库