标签: libsvm

LibSVM中的标称属性

在创建libsvm培训文件时,如何区分名义属性与数字属性?我试图将某些名义属性编码为整数,但我想确保libsvm不会将它们误解为数值.不幸的是,libsvm的网站似乎只有很少的文档.Pentaho的文档似乎暗示libsvm做出了这种区分,但我仍然不清楚它是如何制作的.

artificial-intelligence machine-learning svm libsvm

5
推荐指数
1
解决办法
1814
查看次数

帮助我理解二进制SVM中的线性可分性

我是从math.stackexchange.com交叉发布的,因为我没有得到任何反馈,这对我来说是一个时间敏感的问题.


我的问题涉及支持向量机中与超平面的线性可分性.

根据维基百科:

......正式地,支持向量机在高维或无限维空间中构造超平面或超平面集,其可用于分类,回归或其他任务.直观地,通过与任何类的最近训练数据点具有最大距离的超平面(所谓的功能边界)实现良好的分离,因为通常边距越大,分类器分类的泛化误差越低.

超平面对类的线性分离直观地对我有意义.而且我认为我理解二维几何的线性可分性.但是,我正在使用流行的SVM库(libSVM)实现SVM,当弄乱数字时,我无法理解SVM如何在类之间创建曲线,或者在圆形曲线内将类别1中的中心点包围起来.如果n维空间V中的超平面是维度n-1的"平坦"子集,或者对于二维空间 - 1D线,则由类别2中的点包围.

这就是我的意思:

用于2D二进制SVM的循环封闭类分离

那不是超平面.这是循环的.这是如何运作的?或者SVM内部的维度是否比二维2D输入功能更多?


此示例应用程序可以在此处下载.


编辑:

感谢您的全面解答.因此,SVM可以通过使用内核函数很好地分离奇怪的数据.在将数据发送到SVM之前将数据线性化是否有帮助?例如,我的一个输入要素(数值)有一个转折点(例如0),它完全符合第1类,但在零和零之下它适合第2类.现在,因为我知道这一点,它会不会帮助分类为SVM发送此功能的绝对值?

algorithm classification machine-learning svm libsvm

5
推荐指数
2
解决办法
4500
查看次数

LibSVM特征向量中的特征顺序是否重要?

我正在考虑使用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 libsvm

5
推荐指数
1
解决办法
590
查看次数

LibSVM中的哪些参数是松弛变量?

我对SVM中的namings有点困惑.我正在使用这个库LibSVM.可以设置很多参数.有谁知道这些是松弛变量?谢谢

classification machine-learning svm libsvm

5
推荐指数
1
解决办法
7014
查看次数

用于绘制ROC曲线的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格式的数据...我不知道如何创建测试文件.

如果有人能给出一个相同的玩具示例,我会非常感激.

python machine-learning matplotlib svm libsvm

5
推荐指数
0
解决办法
1421
查看次数

svm-train其他参数优化

libsvm的"grid.py"尝试仅优化svm-train的两个参数"c"和"g".我想通过一次又一次地为不同的参数运行"grid.py"来扩展"grid.py"以优化其他参数(例如"r"或"d").我有一些问题
1.是否有任何脚本可以优化"c"和"g"以外的参数?
2.哪些参数更重要,哪些参数最大/最小.有时更改/优化一个参数会自动优化其他参数.这是svm-train参数的情况吗?

svm libsvm

5
推荐指数
1
解决办法
5066
查看次数

如何在python中使用libSVM计算精度,召回率和F-score

我想计算precision,recall并在Python中f-score使用libsvm,但我不知道如何.我找到了这个网站,但我不知道如何调用该函数,如果你可以帮助我通过例子.

python machine-learning libsvm precision-recall

5
推荐指数
1
解决办法
9126
查看次数

如何在Weka中使用SVM?

我正在尝试在weka中使用svm分类器.当我点击libsvm分类器并尝试根据一些提供的训练数据训练模型时,我得到了错误

libsvm classes not in CLASSPATH.
Run Code Online (Sandbox Code Playgroud)

weka网站有一些关于如何解决这个问题的信息,但我不知道如何执行它们.

http://weka.wikispaces.com/LibSVM

我从提供的链接中获取了libsvm.jar文件.我不确定要放入哪个文件.

java weka libsvm

5
推荐指数
1
解决办法
3万
查看次数

使用python将CSV文件转换为LIBSVM兼容数据文件

我正在使用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找到了这个解决方案

任何人都可以推荐一种解决这个问题的方法吗?

python java csv libsvm

5
推荐指数
2
解决办法
1万
查看次数

基本SVM在MATLAB中实现

  Linearly Non-Separable Binary Classification Problem
Run Code Online (Sandbox Code Playgroud)

首先,这个程序对RBF(gaussianKernel())没有正常工作,我想修复它.

它是一个非线性SVM演示,用于说明使用硬边距应用对2类进行分类.

  • 问题是关于二维径向随机分布数据.

  • 我使用二次规划求解器来计算拉格朗日乘数(alphas)

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 …
Run Code Online (Sandbox Code Playgroud)

matlab machine-learning svm libsvm

5
推荐指数
1
解决办法
5546
查看次数