问题标签 [svmlight]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
probability - 有没有办法将 SVMLight 多类分类中的判别值转换为概率分数
我正在使用 SVM Light 多类分类器来训练具有四个类的分类器。在分类阶段,分类器输出 4 个类别的预测标签和分数。正如 SVM Light 网站所说,这些分数是“每个 k 类的判别值”。我想向用户展示每个类的概率值。所以我想知道是否有一些数学技巧或其他方法可以将这些值“转换”为概率值或至少转换为 0 到 1 之间的归一化分数?
svm - svm light的训练集
我想使用 svm light 进行分类。
在其网站上的示例中,文件格式为:
我无法理解这种格式。line
和value
指的是什么?这是示例训练集的一部分:
我知道在第一行数据1
中指的是正输出,6
请参考target
. target
参考一个word
。并0.0198403253586671
参考value
。但我不知道这value:0.0198403253586671
是如何计算的。
svm - libsvm 中的未分类数据点?
SVM 教程指出,如果数据点落在分隔线周围的区域(在边距中) - 它不会被分类。这是如何在 SVMlight 和 libsvm 等库中实现的?
machine-learning - SVMlight 训练数据格式化
我正在尝试使用 svm light 对路透社文本进行分类,但我的火车数据不符合格式
<'行> .=. <'target> <'feature>:<'value> <'feature>:<'value> ... <'feature>:<'value> # <'info>
它的形式
<'行> .=. <'feature>:<'value> <'feature>:<'value> ... <'feature>:<'value> # <'info>
目标标签位于单独的文件中。我知道 SVM light 中有一个选项可让您指定单独的目标标签文件,但我在 SVM light 网站上找不到它,因为收到错误消息:
将示例读入内存...行必须以标签或 0 开头!!!
每当我使用加载我的训练数据时
svm_learn 示例 1/train.dat 示例 1/模型
有什么帮助吗?
java - 为什么我的 Java 程序找不到 svm_learn 或 svm_classify?
我在 Java 中以编程方式使用 ClearTK 和 SVM-Light。我已经下载了用于 ClearTK 集成以及 SVM-Light 本身的包。无论我是通过 Eclipse 还是命令行运行,我都会不断收到
Cannot find file "svm_learn"
我尝试将它放在当前目录中。我尝试在命令行上使用“-cp”将其位置包含在内,或者将 Eclipse 中的文件夹添加到运行时类路径。我必须怎么做才能让我的 Java 代码识别这两个可执行文件所在的位置?
machine-learning - Arff 到 SVM 灯
我创建了一个 weka arff,我想将其转换为 SVMLight 格式。这样我就可以在MLComp中加载 arff 了。如何转换 arff?
machine-learning - 如何解释 SVM-light 结果
我在教程中使用SVM-light将数据分类为 2 类:
火车档案:
和测试文件:
通过执行svm_learn.exe train_file model
->svm_classify.exe test_file model output
我得到了一些意想不到的值output
:
作为火车文件中的类,它不应该是 +1 或 -1 吗?或-1和+1之间的某种浮点数手动选择0作为分类或其他数字的解决方案,但对我来说,当所有数字都接近-1并且其中一些数字时,这是非常出乎意料的情况甚至更少。
UPD1:据说如果结果数是负数,那么它的类-1
,如果是正数- +1
。还在质疑这个符号后面的值是什么意思?我刚刚开始探索 SVM,所以这可能是一个简单或愚蠢的问题 :) 如果我的预测很糟糕,我应该采取哪些步骤 - 另一个内核?或者也许其他一些选项可以使 SVM-light 与我的数据更相关?
machine-learning - SVM-light 内存不足错误
我正在使用 SVM-light 进行研究,并且效果很好(至少它仍在处理中)
这里的 Learn_data 是大约 14.000.000 行数据和 20.000 个特征。
但是-z p
对于排名模式的标志,它会因 1.000.000 行数据而崩溃:
因此:
当前设置是 64GB 的 RAM,SVM 似乎并没有尝试使用所有这些。我尝试使用超过 4000 MB 作为缓存,最高可达 20000。但这没有帮助,如果它是缓存错误,SVM 应该告诉缓存而不仅仅是内存错误。没有找到记录的方法来解决它。可以做些什么来处理我的数据?
r - R - 将数据框转换为格式为 featureName:featureValue 的数据集
原来我想要的格式称为“SVM-Light”,并在此处描述http://svmlight.joachims.org/。
我有一个数据框,我想将其转换为格式如下的文本文件:
例如:
会成为:
到目前为止我的代码:
但我不确定如何完成并将结果写入文本文件。此外,代码可能效率不高。
是否有执行此操作的库函数?例如,这种输出格式对于 Vowpal Wabbit 来说似乎很常见。
opencv - SVM 分类器测试仅适用于大于训练集的图像
我第一次实现了一个用于静态图像对象检测的软件。我的第一个目标是检测简单的圆圈,然后我将转向更复杂的对象。不幸的是,在验证我的分类器时似乎我遇到了问题。
我的选择是使用 HOG 描述符(使用 OpenCv)和 svm 作为分类器(使用 svmlight)。代码可以编译并且可以工作,但我觉得有些奇怪,可能与 svm 有关。
我有:
- 一个训练集,由 5 个 48x48 像素的不同圆圈图像和 5 个 48x48 像素的非圆圈图像组成(我知道它们太少了,无法拥有一个可靠的分类器,但据了解,这是为了测试一切正常)
- 一个测试集,由 4 个 48x48px 的图像(圆圈与训练所用的一样大)和 1 个更大的图像(765x600px)组成,具有多个尺寸的圆圈和其他几何形式。
会发生什么:
- 当图像为 48x48 时,测试集中的圆圈未被检测到,即使在测试集中有一些图像用于训练阶段。
- 在图像 765x800(包含任意大小的圆圈)中,正确识别出与训练集大小相同或更大的圆圈。
我正在使用以下参数:
- 猪:winSize=48x48px,winStride=4x4px,cellSize=4px,blockSize=8px,blockStride=4x4px
- 分类器:带有线性分类器的 svm 回归,C=0.01。(RBF结果比线性差)
这是使用我正在使用的参数执行检测的 api。
为什么没有检测到 48x48px 图像中的圆圈并且检测到更大图像中的圆圈?我希望正确分类 48x48px 图像以验证分类器。当在 48x48px 图像中没有检测到任何内容时,我添加了更大的图像。
此外,听起来很奇怪的是,在 48x48ps 的测试集中,有一些图像用于训练集中,我认为它们必须被识别,而不是它们!(我知道训练集和测试集一定是不同的,但我在没有检测到任何东西时这样做了。)
这是我对 hog 描述符和 svm 的第一次体验,因此它可能由于配置错误或图像选择而无法工作。
欢迎任何帮助!
提前致谢 :)