关于libsvm分类结果的可视化及分类曲线的可视化.doc

关于libsvm分类结果的可视化及分类曲线的可视化.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于libsvm分类结果的可视化及分类曲线的可视化

关于libsvm分类结果的可视化及分类曲线的可视化 关于libsvvm分类结果的可视化及分类曲线的可视化??by faruto 论坛里曾有多位朋友询问过,有关libsvvm分类结果的可视化及分类曲线的可视化(可能大家感觉这个放在自己的paper里面会比较拉风,个人感觉可视化这些东西真的很虚幻,看着拉风,实则无用)。整体过程我心中明了,但实在是对可视化这种东西的鄙视,所以一直未将关于libsvm分类结果的可视化及分类曲线的可视化的结果实现,并以插件函数的形式放在自己的faruto -libsvm工具箱里面。 本质其实就是用contour来实现。 今天下午把科学社会主义理论 翘掉了【我还记得代课老师说让大家查看一下科学社会主义理论和空想社会主义的区别。囧!】。在宿舍搞了一下。 原本想法是要搞就搞高级一点的,想把对于任意维的测试数据的任意两维(或任意三维)进行可视化,并给出分类超曲面,但最终未果,无法实现。【具体原因我就不说了,深入想过这个的应该会明的。】 【搞的我从下午一直搞到 晚上六点,晚饭都没吃,就直接去上的 《概率论的数学基础》课。囧!】你别看代码就几行。但里面的想法挺巧妙的。。 所以,我在这里要说的是,下面的函数插件 svmplot.m 只对两分类,且属性数据是两维的,给出的分类结果的可视化及分类曲线的可视化才是有意义和准确的。对于不是两分类或属性数据不是两维的,我这个也可以给出个图,但那个的没有实际意义!切记!!切记!! {近期还想弄的就是专门对于 un-balanced data的处理的函数插件。!} 测试图: 1.jpg (88.34 KB) 2009-12-3 23:15 代码:要的直接拿去【拿去在paper里面拉风吧!】。放在libsvm -faruto版本里面就能直接用。 复制内容到剪贴板 代码: function svmplot(labels,dataset,model,demension1,demension2) % svmplot by faruto % 2009.12.03 % Email:patrick.lee@ QQ:516667408 if nargin == 3 ? ? demension1 = 1; ? ? demension2 = 2; end %% minX = min(dataset(:, demension1)); maxX = max(dataset(:, demension1)); minY = min(dataset(:, demension2)); maxY = max(dataset(:, demension2)); gridX = (maxX - minX) ./ 100; gridY = (maxY - minY) ./ 100; minX = minX - 10 * gridX; maxX = maxX + 10 * gridX; minY = minY - 10 * gridY; maxY = maxY + 10 * gridY; [bigX, bigY] = meshgrid(minX:gridX:maxX, minY:gridY:maxY); %% model.Parameters(1) = 3; ntest=size(bigX, 1) * size(bigX, 2); test_dataset=[reshape(bigX, ntest, 1), reshape(bigY, ntest, 1)]; test_label = zeros(size(test_dataset,1), 1); [Z, acc] = svmpredict(test_label, test_dataset, model); bigZ = reshape(Z, size(bigX, 1), size(bigX, 2)); %% clf; hold on; grid on; ispos = ( labels == labels(1) ); pos = find(ispos); neg = find(~ispos); h1 = plot(dataset(pos, demension1), dataset(pos, demension2), r+); h2 = plot(dataset(neg, demension1), dataset(neg, demension2), g*); h3 = plot( model.SVs(:,demension1),model.SVs(:,demension2),o ); legend([h1,h2,h3],class1,class2,Support Vectors); [C,h] = contour(bigX,

文档评论(0)

xjj2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档