C# Accord.net:多标签分类问题

C# Accord.net:多标签分类问题,c#,.net,machine-learning,multilabel-classification,accord.net,C#,.net,Machine Learning,Multilabel Classification,Accord.net,我正在尝试从版本3.0.2升级我的多标签分类代码。到3.3.0。我做了升级,但现在分类结果似乎更糟了——算法无法比以前分类更多的实例。你能告诉我我的新密码有什么问题吗。如何像以前一样使用高斯核的估计参数 旧代码: var gauss = Gaussian.Estimate(inputs, Convert.ToInt32(inputs.GetLength(0) * 0.8)); // Create the machine. this.machine = new MultilabelSuppo

我正在尝试从版本3.0.2升级我的多标签分类代码。到3.3.0。我做了升级,但现在分类结果似乎更糟了——算法无法比以前分类更多的实例。你能告诉我我的新密码有什么问题吗。如何像以前一样使用高斯核的估计参数

旧代码:

var gauss = Gaussian.Estimate(inputs, Convert.ToInt32(inputs.GetLength(0) * 0.8));  

// Create the machine.
this.machine = new MultilabelSupportVectorMachine(inputs[0].Length, gauss, outputs[0].Length);
// Train the model.
var teacher = new MultilabelSupportVectorLearning(this.machine, inputs, outputs);
teacher.Algorithm = (svm, classInputs, classOutputs, i, j) => new SequentialMinimalOptimization(svm, classInputs, classOutputs) { UseComplexityHeuristic = true, CacheSize = 1000 };
teacher.SubproblemFinished += SubproblemFinished;
var error = teacher.Run(true);

// Save the model.
this.machine.Save(modelPath);
新代码:

var gauss = Gaussian.Estimate(inputs, Convert.ToInt32(inputs.GetLength(0) * 0.8));
// Create the machine.
this.machine = new MultilabelSupportVectorMachine<Gaussian>(inputs[0].Length, gauss, outputs[0].Length);


// Create the multi-class learning algorithm for the machine
var teacher = new MultilabelSupportVectorLearning<Gaussian>(this.machine)
{
// Configure the learning algorithm to use SMO to train the
//  underlying SVMs in each of the binary class subproblems.
Learner = (param) => new SequentialMinimalOptimization<Gaussian>()
{
            // Estimate a suitable guess for the Gaussian kernel's parameters.
            // This estimate can serve as a starting point for a grid search.
                    UseKernelEstimation = true,
                    UseComplexityHeuristic = true,
                    CacheSize = 1000                    
                }               
            };
            teacher.ParallelOptions.MaxDegreeOfParallelism = 1;
            // Learn a machine
            machine = teacher.Learn(inputs, outputs);
            Serializer.Save(machine, modelPath);
var gauss=Gaussian.Estimate(输入,转换为32(输入.GetLength(0)*0.8));
//创建机器。
this.machine=新的多标签支持向量机(输入[0]。长度,高斯,输出[0]。长度);
//为机器创建多类学习算法
var teacher=新的多标签支持向量学习(this.machine)
{
//配置学习算法以使用SMO来训练
//每个二进制类子问题中的基础支持向量机。
学习者=(参数)=>新的顺序最小优化()
{
//估计高斯核参数的合适猜测。
//此估计值可作为网格搜索的起点。
UseKernelEstimation=真,
UseComplexity=true,
缓存大小=1000
}               
};
teacher.ParallelOptions.MaxDegreeOfParallelism=1;
//学习机器
机器=教师学习(输入、输出);
Serializer.Save(machine,modelPath);

提前谢谢

您好-如果您仍然遇到此问题,请将您使用的数据集示例和您获得的性能发布到项目的问题跟踪程序。拥有一个可复制的示例是解决问题的第一步,提前感谢!您好-如果您仍然遇到此问题,请将您使用的数据集示例和您获得的性能发布到项目的问题跟踪程序。拥有一个可复制的示例是解决问题的第一步,提前感谢!