问题标签 [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.
machine-learning - grid.py 运行需要多少时间?
我正在使用 libsvm 进行二进制分类..我想尝试 grid.py ,因为据说可以改善结果..我在不同的终端中为五个文件运行了这个脚本,并且该脚本已经运行了 12 多个小时..
这是我现在 5 个终端的状态:
我已将输出重定向到文件,但这些文件现在什么都不包含。而且,创建了以下文件:
- sbiz_nonbiz_feat.txt.out
- sbiz_nonbiz_feat.txt.png
- sarts_nonarts_feat.txt.out
- sarts_nonarts_feat.txt.png
- sgames_nongames_feat.txt.out
- sgames_nongames_feat.txt.png
- sref_nonref_feat.txt.out
- sref_nonref_feat.txt.png
- snews_nonnews_feat.txt.out (--> 为空)
.out 文件中只有一行信息。
“.png”文件是一些 GNU PLOTS 。
但我不明白上面的 GNUplots / 警告传达了什么......我应该重新运行它们吗?
如果每个输入文件包含大约 144000 行,任何人都可以告诉我这个脚本可能需要多长时间..
谢谢并恭祝安康
python - 在 Python 中使用 LibSVM 预计算内核
我已经在网上搜索了大约 3 个小时,但我还没有找到解决方案。我想给 libsvm 一个预先计算的内核并对数据集进行分类,但是:
如何生成预计算内核?(例如,虹膜数据的基本预计算内核是什么?)
在 libsvm 文档中,指出:
对于预计算内核,每个实例的第一个元素必须是 ID。例如,
/li>
我所说?没有进一步的细节。我可以按顺序分配ID吗?
非常感谢任何 libsvm 帮助和预计算内核的示例。
python - 使用 LibSVM 计算与均值/标准差对最近的匹配
我是 SVM 的新手,我正在尝试使用 Python 的libsvm接口对包含均值和标准差的样本进行分类。但是,我得到了荒谬的结果。
此任务是否不适合 SVM,或者我在使用 libsvm 时是否有错误?下面是我用来测试的简单 Python 脚本:
该域似乎相当简单。我希望如果它被训练知道 2.5 的平均值意味着标签 1,那么当它看到 2.4 的平均值时,它应该返回标签 1 作为最可能的分类。但是,每个内核的准确度为 0%。为什么是这样?
一些旁注,有没有办法隐藏终端中 libsvm 转储的所有详细训练输出?我搜索了 libsvm 的文档和代码,但找不到任何方法来关闭它。
此外,我曾想在我的稀疏数据集中使用简单的字符串作为键(例如 {'mean':2.5,'stddev':3.5})。不幸的是,libsvm 只支持整数。我尝试使用字符串的长整数表示(例如 'mean' == 1109110110971110),但 libsvm 似乎将这些截断为正常的 32 位整数。我看到的唯一解决方法是维护一个单独的“密钥”文件,将每个字符串映射到一个整数('mean'=0,'stddev'=1)。但显然这会很痛苦,因为我必须与序列化分类器一起维护和持久化第二个文件。有没有人看到更简单的方法?
artificial-intelligence - LibSVM 中的标称属性
创建 libsvm 训练文件时,如何区分名义属性和数字属性?我正在尝试将某些名义属性编码为整数,但我想确保 libsvm 不会将它们误解为数值。不幸的是,libsvm 的站点似乎只有很少的文档。Pentaho 的文档似乎暗示 libsvm 做出了这种区分,但我仍然不清楚它是如何做出的。
matlab - MATLAB 中的 SVM 可视化
在 Matlab 中执行 SVM 训练后,如何可视化 SVM 分类?
到目前为止,我只训练了 SVM:
python - 保存 PyML.classifiers.multi.OneAgainstRest(SVM()) 对象?
我正在使用PYML构建多类线性支持向量机 (SVM)。在训练 SVM 之后,我希望能够保存分类器,以便在后续运行中我可以立即使用分类器而无需重新训练。不幸的是,该分类器没有实现 .save() 函数,并且尝试腌制它(使用标准 pickle 和 cPickle )会产生以下错误消息:
有没有人知道解决这个问题的方法或没有这个问题的替代库?谢谢。
编辑/更新
我现在正在训练并尝试使用以下代码保存分类器:
请注意,我现在使用 PyML 保存机制而不是使用酸洗进行保存,并且我已将“saveSpace=False”传递给训练函数。但是,我仍然遇到错误:
但是,我通过 saveSpace=False... 那么,如何保存分类器?
PS
我正在使用的项目是pyimgattr,以防您想要一个完整的可测试示例...该程序使用“./pyimgattr.py train”运行...这会给您带来此错误。另外,关于版本信息的注释:
java - 如何找出 libsvm 中的最佳 C/Gamma 参数?
我正在使用libsvm对具有大量特征/属性(每个项目大约 5,800 个)的数据集进行多类分类。我想为 C 和 Gamma 选择比我目前使用的默认值更好的参数。
我已经尝试过运行easy.py,但是对于我正在使用的数据集,估计时间几乎是永远的(在20、50、100和200个数据样本上运行easy.py,并得到一个预测的超线性回归我必要的运行时间需要数年)。
有没有办法比默认值更快地获得更好的 C 和 Gamma 值?我正在使用 Java 库,如果这有什么不同的话。
java - 如何使用 libsvm 计算多类预测的概率?
我正在使用libsvm并且文档让我相信有一种方法可以输出输出分类准确性的可信概率。是这样吗?如果是这样,任何人都可以提供一个明确的例子来说明如何在代码中做到这一点?
目前,我正在以下列方式使用 Java 库
windows - 帮助 LibSVM 输入数据
我正在为我的支持向量分类实现使用 LibSVM 工具:-
我的输入数据文件中的第一行如下所示:-
我的输入数据文件的名称是 --> a1a
我试图在我的 Windows 命令提示符下运行该程序
我收到以下错误
有人可以帮我吗?我似乎无法弄清楚出了什么问题。
谢谢。
machine-learning - 支持向量机 (SVM) 的一些实现细节
在一个特定的应用程序中,我需要机器学习(我知道我在本科课程中学习的东西)。我使用了支持向量机并解决了问题。它工作正常。
现在我需要改进系统。这里的问题是
我每周都会获得额外的培训示例。现在,系统开始使用更新的示例(旧示例 + 新示例)重新进行训练。我想让它成为增量学习。使用以前的知识(而不是以前的例子)和新的例子来获得新的模型(知识)
对,我的训练示例有 3 个类。因此,每个训练示例都适合这 3 个类之一。我想要“未知”类的功能。任何不符合这 3 个类别的内容都必须标记为“未知”。但我不能将“未知”视为一个新类并为此提供示例。
假设实现了“未知”类。当类是“未知的”时,应用程序的用户输入他认为的类可能是什么。现在,我需要将用户输入整合到学习中。我也不知道如何做到这一点。如果用户输入一个新的类(即一个不在训练集中的类),会有什么不同吗?
我是否需要选择新算法或支持向量机可以做到这一点?
PS:我正在为 SVM 使用 libsvm 实现。