【问题标题】:matlab SVM returns NaNmatlab SVM 返回 NaN
【发布时间】:2016-02-28 13:54:13
【问题描述】:

这是我的问题:我正在尝试使用支持向量机对一些数据进行分类,特别是 MATLAB 实现 fitcsvm。但是,当我计算预测时,一些预测的后验概率设置为 NaN。那是什么意思?这是代码

% Training
model  = fitcsvm(trainX, trainY, 'KernelFunction', 'RBF', 'KernelScale', 'auto', 'Prior', 'empirical');
model = fitSVMPosterior(model, 'Leaveout', 'on');

% Prediction
[~,scores] = predict(model, testX);

【问题讨论】:

    标签: classification svm matlab


    【解决方案1】:

    很可能,testX 包含NaNs。如果testX 包含用作SVM 项的任何变量的NaN,则后验概率也将为NaN

    【讨论】:

      【解决方案2】:

      这里描述了这可能是由于并行运行的 VPN 软件造成的:

      https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f427

      问:为什么代码给出 NaN(不是数字)结果?

      这种情况很少发生,但很少有用户报告此问题。看起来 他们用于培训 libsvm 的计算机运行了 VPN 客户端。这 VPN 软件存在一些错误并导致此问题。请尝试 关闭或断开 VPN 客户端。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-25
        • 2013-05-24
        • 2018-01-21
        • 2017-04-21
        • 2014-03-23
        相关资源
        最近更新 更多