Accord.Net获取SVM模型的等式

时间:2017-01-19 09:41:10

标签: c# machine-learning accord.net

我一直在测试样本内核支持向量机的回归问题,我想知道如何得到模型的等式。

例如,如果使用多项式内核(度= 1)创建机器,那么如何获得此模型的线方程(mx + b)。 SupportVectorMachine类中是否有任何方法可以获得模型方程?或者有没有办法从机器创建后获得的变量计算方程的参数。

提前致谢。

3 个答案:

答案 0 :(得分:2)

看起来您可以使用以下方法:

ToWeights()

  

将线性内核机器转换为线性系数数组。   数组中的第一个位置是阈值。

因此,在您的语言中,数组中的第一个位置是偏差b,其余的是线性系数m

答案 1 :(得分:1)

当使用SequentialMinimalOptimization()时,我从ToWeights()获得了奇怪的系数,我无法从中得出超平面方程。使用LinearCoordinateDescent()为模型产生了可用的系数,但是,[a,b,c ...]的形式可以插入为0 = a + bx + cy + ... 希望有所帮助!

答案 2 :(得分:0)

正如@zrolfs 所指出的,如果您将 Accord.NET 与 Sequential Minimal Optimization 一起使用,则 ToWeights() 函数当前不会返回决策函数的相关系数。不过,您可以直接计算这些系数。为此,将 SVM 权重向量乘以支持向量矩阵,如下所示:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql:3306' (-2 Name or service not known)