machine-learning - 训练集中的正/负比例

标签 machine-learning information-retrieval

我正在尝试获取 Rocchio algorithm以获得工作的相关反馈。我有一个疑问,一些文件标记了积极和消极。例如,我有 60 个阳性和 337 个阴性。我想使用此数据集的一部分来训练我的模型(在本例中 - 调整查询)并在另一部分上进行测试。但是,有了这种不平衡的数据集,我不确定要在训练集中考虑多少负数和多少正数。

另一个问题是,根据测试数据集中的正/负比例,我会得到误导性的精度、召回率和 F1 分数结果。测试数据集中有 49 个正例和 17 个负例,精度=0.742,召回率=1.000,F1=0.852,TP=49,FP=17,TN=0,FN=0。

其他查询的正/负比例分布并没有给我任何关于为我的模型选择哪个比例的提示。

所以我想请您提供一些关于使用不平衡数据集以获得正确结果的建议。

提前致谢,很抱歉提出这样的菜鸟(-ish?)问题:-)

最佳答案

首先,我认为你的算法很难从如此少量的示例中进行概括(当然这也取决于特征的数量)。

其次,我认为使用不平衡的数据集并不是一个好主意。 看来你的算法没有学到任何东西,因为它的输出总是“正”。 这意味着如果您的数据集是平衡的,您的准确度将为 50%。不太好... 如果您找不到更大的数据集,我建议您按如下方式拆分数据集:

  • 训练集(45 个正样本/45 个负样本)
  • 测试集(15 个阳性/15 个阴性)

无论如何,我还是一名学生,所以这就是我的想法,但如果更有经验的用户能够确认或不确定,那就太好了。

希望对你有帮助!

关于machine-learning - 训练集中的正/负比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10734401/

相关文章:

optimization - 在 Weka 中使用 RBFKernel(C 和 gamma)优化 SMO

machine-learning - 如何将 AUC 和平均 11 点精度/召回率结合起来?

java - Java虚拟助手的查询分类?

python - 如何提高分类机器学习模型的真阳性率?

machine-learning - 梯度下降在线性回归中的作用是什么?

python - 机器学习中存在维度问题 (Python Scikit)

search-engine - 为什么 Document at a time scoring 允许我们在做交叉时跳过较长列表的部分?

c++ - 如何从 C++ 中的文件中随机获取信息?

java - Youtube api v3 - 如何检索标记为垃圾邮件的评论(使用java)

python - 为什么 `gensim` 中的 tf-idf 模型在我转换语料库后丢弃了术语和计数?