机器学习多标签目标是一系列概率

我正在处理一个机器学习问题,其中我的目标是一个多标签目标,每个标签都是一个概率。过去我处理过多标签问题,但每个标签都是二元的。例如,如果目标是一系列书籍主题(’Python’、’机器学习’、’童话’、’烹饪’),那么基于Python的scikit-learn的机器学习书籍的目标将是[1, 1, 0, 0]。

现在,对于我试图解决的问题,我的目标不是二元的。目标本身是一系列概率,如[0.75, 0.25, 0, 0]。我认为这些目标是以众包的方式产生的,这些概率反映了人们判断的变异性。因此,除非我想将概率分成类别(即p<0.5 ->0, p>=0.5 ->1),否则我面临一个回归问题,其中目标需要限制在0和1之间。有什么算法建议吗?我使用的是Python的scikit-learn。

谢谢!


回答:

你能将这些众包概率视为标签权重吗?然后你可以考虑训练能够考虑标签权重的算法,例如线性分类器或提升算法。

例如,如果使用朴素贝叶斯分类器,我们过去将每个标签的标签权重视为1,现在每个标签都有一个分数标签权重。如果这是文档分类的应用,我们可能有两组训练实例的真实标签集如下:

1. {新闻: 0.8, 体育: 0.5}2. {新闻: 0.1, 体育: 0.8}

假设你有一个单词w1,它在第一个实例中出现5次,在第二个实例中出现2次。

当你计算给定类别标签的单词w1的概率时,你执行以下操作:

P(w1 | 新闻) = (5*0.8 + 2*0.1) / (所有新闻文档中所有单词的加权出现次数)P(w1 | 体育) = (5*0.5 + 2*0.8) / (所有体育文档中所有单词的加权出现次数)

请注意,当我们学习模型时,如何考虑标签权重。基本上,单词出现的次数会得到一个折扣信用。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注