gpt4 book ai didi

c# - Accord.NET 中的多标签支持向量机

转载 作者:行者123 更新时间:2023-11-30 09:11:24 26 4
gpt4 key购买 nike

我正在尝试使用 Accord.NET 框架(MultilabelSupportVectorMachine 类)制作多标签支持向量机,但根据示例很难理解编码,例如:

// Sample input data
double[][] inputs =
{
new double[] { 0 },
new double[] { 3 },
new double[] { 1 },
new double[] { 2 },
};

// Outputs for each of the inputs
int[][] outputs =
{
new[] { -1, 1, -1 },
new[] { -1, -1, 1 },
new[] { 1, 1, -1 },
new[] { -1, -1, -1 },
};

如果我的输出是一个矩阵,其中包含不在 -1 和 +1 范围内的整数值,我们应该使用什么编码将数据转换为这种格式?

最佳答案

如果您使用 MultiLabelSupportVectorMachine 进行计算,这是 MultiLabelSupportVectorMachine 将返回的输出格式。 MultiClassSupportVectorMachine 返回单个 int,因为当您确定示例仅匹配单个类时使用它,而 MultiLabelSupportVectorMachine 返回一个数组,该数组显示示例匹配哪些类,并且当示例可以匹配更多类时使用它。

它的工作原理如下:输出数组长度在 0(含)和类数之间。因此,如果您有 4 个类,您将拥有一个如下所示的输出数组:

{ -1, -1, 1, -1 }

这意味着输出类是2,因为1的索引是2。我希望您现在知道此类的输出是如何工作的,并且这可以指导您如何格式化示例输出。

其他信息:如果您想使用 MultiLabelSupportVectorMachine,但您只想获得一个输出类,您只需获取输出数组中的第一个索引 1 即可。仅当您确定“一对一”比“一对一”更适合您时,我才建议您这样做。

关于c# - Accord.NET 中的多标签支持向量机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com