在多标签矩阵中使用权重而不是数字

Using Weights In Multilabel Matrix Instead Of Numbers

假设我们有一个 multiclassification 问题。 数据矩阵存储代表标签的整数。

用数据 float() 或下面的某种概率构建这样的矩阵是否正确:

[[0.71561032442075889, 0.27956959249497948], ...]

而不是像这样的二进制标签:

[[0, 1], ...]

非常感谢!

通常,classification是一项任务,根据它们的共同属性和核心特征将给定的集合(输入)分成N个类 .如果你只有两个 类 (N == 2),那么问题就是二元分类。作为一般规则,这样的 类 表示为从零开始的整数:

X = [[1, 2], [3, 4], [1, 2]]
y = [1, 0, 1]  # two classes => binary classification task

如果你有两个以上的 类 (N > 2),那么这将是一个多分类任务。请注意,我们不考虑任何转换技术:

X = [[1, 2], [3, 4], [1, 2], [5, 6]]
y = [1, 0, 1, 2]  # three classes => multiclassifaction task

除了对输入数据进行分类外,还有一项任务是建立回归。分类分析和 regression analysis 之间的主要区别在于我们努力在输入和目标之间建立稳固的数学关系。在回归分析过程中,我们可能会提出的一个主要问题是,当某个输入发生变化时,我们的目标变量会发生什么变化。在那种情况下,目标向量呈现在一个连续的尺度上,即。 e.它可以由任何数字组成,无论是正数还是负数:

X = [[1, 2], [3, 4], [1, 2], [3, 1]]
y = [12.5, -36.8, 12.5, 22.32]  # regression problem

简要建议

如果您希望重建 y 以便能够解决多分类问题,您首先应该拥有一种有效且合理的技术来将您的二元目标转换为连续目标,就像您在问题中展示的那样.如果您认为您的方法遵循常识,那么您可以将 y 向量的值四舍五入到小数,从而建立 11 类: [0.0, 0.1, ..., 0.9, 1]。当然,下一步是用转换后的数据拟合分类器。

希望对您有所帮助。