问题标签 [libsvm]

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.

0 投票
2 回答
388 浏览

machine-learning - 帮助组织我的数据以解决这个机器学习问题

我想在给定的一组类别中对推文进行分类,例如 {'sports'、'entertainment'、'love'} 等...

我的想法是用最常用词的词频来帮助我解决这个问题。例如,“爱”这个词出现在爱情类别中的频率最高,但它也以“我喜欢这个游戏”和“我喜欢这部电影”的形式出现在体育和娱乐中。

为了解决这个问题,我设想了一个 3 轴图表,其中 x 值是我的推文中使用的所有单词,y 值是类别,z 值是术语频率(或某种类型的分数)词和类别。然后我会将推文分解到图表上,然后将每个类别中的 z 值相加。具有最高总 z 值的类别很可能是正确的类别。我知道这很令人困惑,所以让我举个例子:

“看”这个词在体育和娱乐中出现了很多(“我在看比赛”和“我在看我最喜欢的节目”)……因此,我至少将其缩小到这两个类别。但是“游戏”这个词在娱乐中并不经常出现,而在体育运动中也并不经常出现。'watch' + 'game' 的 Z 值将在体育类别中最高,而 'watch' + 'show' 将在娱乐类别中最高。

现在您了解了我的想法是如何运作的,我需要帮助组织这些数据,以便机器学习算法可以在我给它一个词或一组词时预测类别。我读过很多关于 SVM 的文章,我认为它们是正确的选择。我尝试了 libsvm,但我似乎无法想出一个好的输入集。此外,libsvm 不支持非数字值,这增加了复杂性。

有任何想法吗?我什至需要一个库,还是应该自己编写决策代码?

谢谢大家,我知道这很长,对不起。

0 投票
1 回答
3784 浏览

optimization - 支持向量机的停止准则

我正在使用支持向量机写我的学士论文。是不是,“epsilon”参数是优化误差(包括c)时的容差?所以如果最大的约束。边距和最小值 错误至少比优化停止的“epsilon”更接近其最佳值?

0 投票
2 回答
2211 浏览

python - 喜欢 libsvm 中的一类(python)

我刚开始在 python 中使用 libsvm 并得到了一些简单的分类。

问题是我正在构建一个人脸检测系统,我想要一个非常低的错误拒绝率。另一方面,支持向量机似乎针对相等的错误拒绝和错误接受进行了优化。我在这里有什么选择?

正如前面所说,我对 libsvm 很陌生,所以请善待。;)

0 投票
1 回答
1251 浏览

linux - Malloc 在 64 位 Ubuntu 机器上失败

我在具有 18 GB RAM 的 64 位 Ubuntu 机器上运行以下代码,如您所见,当我尝试分配 2^31 字节时,我对 Malloc 的调用失败。我不确定为什么会发生这种情况,或者如何解决它(我已经尝试过编译器标志和 calloc())。我想知道是否有人可以向我解释为什么我无法在 64 位机器上分配更多空间以及如何解决此问题。

输出:

更新:

我发现了我遇到的问题:我目前在 64 位 Ubuntu linux 发行版上的 EC2 上运行我的代码,而 EC2 上的默认 linux 框有 0 个交换空间。这导致我的进程在请求比物理 RAM 更多的内存时出现段错误,因为它无法分页。创建交换文件后,我的问题就消失了。

谢谢你的帮助

0 投票
3 回答
1196 浏览

python - 大型自然语言词集上的哈希表

我正在用 python 编写一个程序来对电影评论进行 unigram(最终是 bigram 等)分析。目标是创建特征向量以输入 libsvm。我的特征向量中有 50,000 个奇怪的唯一词(这对我来说似乎相当大,但我相对确定我是对的)。

我使用 python 字典实现作为哈希表来跟踪遇到的新单词,但我注意到在处理前 1000 个奇怪的文档后速度大大降低。如果我使用几个较小的哈希表/字典,我会获得更好的效率(考虑到自然语言的分布)还是相同/更差?

更多信息:

数据被分成 1500 个左右的文档,每个文档大约 500 个单词。每个文档中有 100 到 300 个唯一词(相对于所有以前的文档)。

我当前的代码:

另请记住,我的输入数据约为 6mb,输出数据约为 300mb。我只是惊讶于这需要多长时间,而且我觉得它不应该在运行时如此显着地放慢速度。

减速:前 50 个文档大约需要 5 秒,后 50 个文档大约需要 5 分钟。

0 投票
1 回答
462 浏览

matlab - 在matlab中转换输入文件添加值,或替换并将其保存到其他文件

我正在使用libsvm,并且想训练一些数据,这里的问题是,libsvm 以特殊格式询问输入模式。

成为我的文件:

在哪里

  • 第一行中的最后一个“1”(最后一列)代表班级
  • 第二行中的最后一个“2”(最后一列)代表其他类

设为 libsvm 要求的格式(取自 heart_scale 示例文件):

您如何加载或输入 libsvm 格式的输入文件?或将最后一列更改为第一列?,更改列号的“,”和“:”?我忘了说对于 libsvm 第一列代表类...

0 投票
1 回答
3688 浏览

matlab - libsvm.cpp 编译错误 MATLAB

我已经从官方网站下载了用于 MATLAB 的 libsvm (我使用的是 MATLAB 2010b)但是每当我运行 make 文件时,我都会得到:

甚至执行单独的指令,例如:mex -O -c svm.cpp

我得到同样的错误,我做错了什么

PD

我已经验证了编译器问题:

0 投票
1 回答
822 浏览

python - 在 CentOs 5.5 上为 Python-2.7.1 构建 libsvm-3.0 时出现问题

尝试在 CentOs 5.5 上安装 libsvm-3.0 以获得替代 python 构建(python-2.7.1 而不是默认的 2.4)。此 python 安装在 /opt/python2.7 中。我下载了源文件并在主目录和 python 子目录中运行了 MAKE。然后我将所有内容复制到 /opt/python2.7/lib/python2.7/site-packages/libsvm

当我在 Macintosh 10.6.6 上执行此操作时,我必须执行说明中没有的几个额外步骤。它们在我的博客上有所描述。关键步骤是将以下内容添加到 svm.py

并修改第一个语句

看起来像这样:

但是,这些配置都不适用于此 Linux 版本。我绝对不是 Linux 人,所以我不知道可能出了什么问题。

在解释器中工作以试图解决这个问题,我注意到 cytpes.util.find_library('svm') 或 ctypes.util.find_library("libsvm.so.2") 返回空值,所以它肯定不知道在哪里.so 是。

我可以通过设置 libsvm=CDLL(os.path.abspath("libsvm.so.2")) 手动强制解释器中的位置。然后我只能在该会话期间导入 svm。

任何帮助深表感谢。

标记

0 投票
2 回答
3305 浏览

libsvm - 在 Windows 上使用 libsvm 训练数据集

你知道一个使用 libsvm 的简单例子吗,我安装了 Windows 7。

  • 所以我启动了一个控制台,然后....
0 投票
3 回答
3478 浏览

python - 如何从 svm_model(在 Python 中)获取支持向量和 rho 值?

使用 libsvm 从 svm_train 获取 svm_model 后,如何从模型中获取 rho 和 SV?我知道当我得到模型时这些值会被打印出来,但我不知道如何得到 SV。前任:

现在,如何从 svm_model 获取 rho 值和 SV?