在创建libsvm培训文件时,如何区分名义属性与数字属性?我试图将某些名义属性编码为整数,但我想确保libsvm不会将它们误解为数值.不幸的是,libsvm的网站似乎只有很少的文档.Pentaho的文档似乎暗示libsvm做出了这种区分,但我仍然不清楚它是如何制作的.
我是从math.stackexchange.com交叉发布的,因为我没有得到任何反馈,这对我来说是一个时间敏感的问题.
我的问题涉及支持向量机中与超平面的线性可分性.
根据维基百科:
......正式地,支持向量机在高维或无限维空间中构造超平面或超平面集,其可用于分类,回归或其他任务.直观地,通过与任何类的最近训练数据点具有最大距离的超平面(所谓的功能边界)实现良好的分离,因为通常边距越大,分类器分类的泛化误差越低.
超平面对类的线性分离直观地对我有意义.而且我认为我理解二维几何的线性可分性.但是,我正在使用流行的SVM库(libSVM)实现SVM,当弄乱数字时,我无法理解SVM如何在类之间创建曲线,或者在圆形曲线内将类别1中的中心点包围起来.如果n维空间V中的超平面是维度n-1的"平坦"子集,或者对于二维空间 - 1D线,则由类别2中的点包围.

那不是超平面.这是循环的.这是如何运作的?或者SVM内部的维度是否比二维2D输入功能更多?
此示例应用程序可以在此处下载.
感谢您的全面解答.因此,SVM可以通过使用内核函数很好地分离奇怪的数据.在将数据发送到SVM之前将数据线性化是否有帮助?例如,我的一个输入要素(数值)有一个转折点(例如0),它完全符合第1类,但在零和零之下它适合第2类.现在,因为我知道这一点,它会不会帮助分类为SVM发送此功能的绝对值?
我正在考虑使用LibSVM,我正在创建所需的功能向量.在几乎所有示例数据中都有一个功能订单,例如:
+1 1:3 2:1 3:5 4:2 10:8
Run Code Online (Sandbox Code Playgroud)
想知道这种排序是否重要,例如:
+1 4:2 10:8 2:1 1:3 3:5
Run Code Online (Sandbox Code Playgroud)
谢谢
我对SVM中的namings有点困惑.我正在使用这个库LibSVM.可以设置很多参数.有谁知道这些是松弛变量?谢谢
我是libsvm的新手,我知道如何使用libsvm进行分类.但我不知道如何使用libsvm绘制ROC曲线,根据libsvm的官方网站给出的用法是:
plotroc.py [-v cv_fold | -T testing_file] [libsvm_options] training_file
Run Code Online (Sandbox Code Playgroud)
我没有得到如何在我的程序中替换相同的内容.我想实现一个二元分类器.我是libsvm的新手,很抱歉这样的新手问题.我也有numpy.ndarray格式的数据...我不知道如何创建测试文件.
如果有人能给出一个相同的玩具示例,我会非常感激.
libsvm的"grid.py"尝试仅优化svm-train的两个参数"c"和"g".我想通过一次又一次地为不同的参数运行"grid.py"来扩展"grid.py"以优化其他参数(例如"r"或"d").我有一些问题
1.是否有任何脚本可以优化"c"和"g"以外的参数?
2.哪些参数更重要,哪些参数最大/最小.有时更改/优化一个参数会自动优化其他参数.这是svm-train参数的情况吗?
我想计算precision,recall并在Python中f-score使用libsvm,但我不知道如何.我找到了这个网站,但我不知道如何调用该函数,如果你可以帮助我通过例子.
我正在尝试在weka中使用svm分类器.当我点击libsvm分类器并尝试根据一些提供的训练数据训练模型时,我得到了错误
libsvm classes not in CLASSPATH.
Run Code Online (Sandbox Code Playgroud)
weka网站有一些关于如何解决这个问题的信息,但我不知道如何执行它们.
http://weka.wikispaces.com/LibSVM
我从提供的链接中获取了libsvm.jar文件.我不确定要放入哪个文件.
我正在使用libsvm做一个项目,我正在准备我的数据来使用lib.如何将CSV文件转换为LIBSVM兼容数据?
CSV文件:https: //github.com/scikit-learn/scikit-learn/blob/master/sklearn/datasets/data/iris.csv
在频率问题中:
如何将其他数据格式转换为LIBSVM格式?
这取决于您的数据格式.一种简单的方法是在libsvm matlab/octave接口中使用libsvmwrite.以UCI机器学习库中的CSV(逗号分隔值)文件为例.我们下载SPECTF.train.标签位于第一列.以下步骤以libsvm格式生成文件.
matlab> SPECTF = csvread('SPECTF.train'); % read a csv file
matlab> labels = SPECTF(:, 1); % labels from the 1st column
matlab> features = SPECTF(:, 2:end);
matlab> features_sparse = sparse(features); % features must be in a sparse matrix
matlab> libsvmwrite('SPECTFlibsvm.train', labels, features_sparse);
The tranformed data are stored in SPECTFlibsvm.train.
Alternatively, you can use convert.c to convert CSV format to libsvm format.
Run Code Online (Sandbox Code Playgroud)
但我不想使用matlab,我使用python.
我也使用JAVA找到了这个解决方案
任何人都可以推荐一种解决这个问题的方法吗?
Linearly Non-Separable Binary Classification Problem
Run Code Online (Sandbox Code Playgroud)
首先,这个程序对RBF(gaussianKernel())没有正常工作,我想修复它.
它是一个非线性SVM演示,用于说明使用硬边距应用对2类进行分类.
问题是关于二维径向随机分布数据.
我使用二次规划求解器来计算拉格朗日乘数(alphas)
Run Code Online (Sandbox Code Playgroud)xn = input .* (output*[1 1]); % xiyi phi = gaussianKernel(xn, sigma2); % Radial Basis Function k = phi * phi'; % Symmetric Kernel Matrix For QP Solver gamma = 1; % Adjusting the upper bound of alphas f = -ones(2 * len, 1); % Coefficient of sum of alphas Aeq = output'; % yi beq = 0; % Sum(ai*yi) = 0 A = zeros(1, 2* len); % A * alpha …