matlab SVM 返回 NaN
Posted
技术标签:
【中文标题】matlab SVM 返回 NaN【英文标题】:matlab SVM returns 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);
【问题讨论】:
【参考方案1】:很可能,testX
包含NaN
s。如果testX
包含用作SVM 项的任何变量的NaN
,则后验概率也将为NaN
。
【讨论】:
【参考方案2】:这里描述了这可能是由于并行运行的 *** 软件造成的:
https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f427
问:为什么代码给出 NaN(不是数字)结果?
这种情况很少发生,但很少有用户报告此问题。看起来 他们用于培训 libsvm 的计算机运行了 *** 客户端。这 *** 软件存在一些错误并导致此问题。请尝试 关闭或断开 *** 客户端。
【讨论】:
以上是关于matlab SVM 返回 NaN的主要内容,如果未能解决你的问题,请参考以下文章