Python 如何根据组中的其他实例对实例进行分类?
S.O.社区-寻找机器学习问题的解决方案,如果有人能提供帮助,我们将不胜感激: 我希望能够应用一种机器学习算法,根据“组”中的其他实例为每个实例分配分类。该模型学习导致分类为“1”的特征,该组中最强的特征和其他为“0”的特征(或者更理想的是,组中加起来为1的softmax概率输出) 实例可能具有与其他组中的其他实例不同的不必要功能,但它们是其组中更强的指示器 也就是说,对于如下所示的数据,我如何让模型大致了解哪些特征导致“1”分类,但仅根据组中其他实例的特征确定标签 训练集Python 如何根据组中的其他实例对实例进行分类?,python,r,machine-learning,modeling,Python,R,Machine Learning,Modeling,S.O.社区-寻找机器学习问题的解决方案,如果有人能提供帮助,我们将不胜感激: 我希望能够应用一种机器学习算法,根据“组”中的其他实例为每个实例分配分类。该模型学习导致分类为“1”的特征,该组中最强的特征和其他为“0”的特征(或者更理想的是,组中加起来为1的softmax概率输出) 实例可能具有与其他组中的其他实例不同的不必要功能,但它们是其组中更强的指示器 也就是说,对于如下所示的数据,我如何让模型大致了解哪些特征导致“1”分类,但仅根据组中其他实例的特征确定标签 训练集 feat1
feat1 feat2 feat3 feat4 group label
0 1 2 yes cat1 1 0
1 3 4 no cat4 1 0
2 2 6 yes cat3 1 0
3 4 8 yes cat2 1 1
4 14 10 no cat4 2 0
5 10 12 yes cat1 2 0
6 12 12 no cat2 2 0
7 18 11 yes cat4 2 1
8 16 15 no cat5 2 0
测试集
feat1 feat2 feat3 feat4 group label (softmax output)
0 1 2 yes cat2 3 0 0.15
1 6 4 no cat4 3 0 0.07
2 4 2 yes cat2 3 0 0.34
3 2 3 yes cat2 3 1 0.44
即,模型将仅为每个“组”中的一个实例分配“1”,为其余实例分配“0”(或为所有实例分配概率)
我最接近这一点的是多实例学习,但这会导致对组进行分类,而不是对组内的实例进行分类
我认为,对我试图实现的目标的一个简单解释是:使用一系列特性来确定一组项目中最有可能被标记的项目,并分别评估组中的每个项目。我猜这类似于预测一场比赛,每个参与者都有一系列的属性,只有在评估了每个参与者及其属性后才能预测结果(获胜者)
任何帮助都将不胜感激
附言:热爱这个社区,如果没有它,我就不会在分析领域走得很远
pps。只是澄清一下——培训需要对每个小组进行评估,而不是以传统的逐个实例的方式进行培训。例如,在一组低质量实例中可以有一个中等质量的实例,中等质量的实例应产生“1”(或最高概率)输出。同一个中等质量实例可能位于一组高质量实例中,因此应归类为“0”(或最低概率)输出。传统的逐实例分类模型只会将完全相同的分类分配给这个中等质量的实例,但我正在寻找它在分配给它的组中的“状态” 我认为一个很好的解决方案是在不使用组功能的情况下训练您的模型 正如我在您的数据中所看到的,要素的值受组要素的制约,因此它们具有不同的比例。要使用所有数据训练模型,您需要按组分割数据,然后对其进行规格化,以便将所有特征放在同一比例中
标准化数据后,您可以在不使用组功能的情况下训练模型。当您处于预测阶段时,您对测试数据执行相同的标准化过程(分组和标准化),然后获得每组的最大概率。您希望使用所有数据训练模型,但将每组的一个数据分类为“1”,是吗?这是正确的,但是在训练过程中,模型也需要考虑所有组的情况,否则一个在组内很强的实例(导致“1”)在另一个组中不一定是强的(它将是‘0’),并且将产生不准确的模型。如果softmax变化是可能的,理想情况下,每组的输出总和为1。嗨,菲利佩,谢谢你的回复。你提到的是我认为我需要继续使用的模型,但由于无法正常化分类特征,这将变得很困难。关于这方面有什么想法吗?分类特征3和4不需要标准化,只需要数字特征。功能1和功能2是职业化的还是数字的?非常感谢您的想法,非常感谢!嗨@Bazza,你最终取得好成绩了吗?你使用了什么技术/模型?你能分享一个玩具的例子吗?还有,Bazza,@Filipe,你是如何输入的?我认为您需要将组的所有实例放在同一行上。例如:cat1feat1、cat1feat2、cat1feat3、cat2feat1…cat2feat3。。。(无专长4)