java - 在 libsvm 中编码分类变量

标签 java encoding machine-learning svm libsvm

libsvm中是否有一个类可以自动编码字符串/分类特征。我发现了一个叫做 libsvmstringoutcomedatawriter 的东西。上面使用的是哪种类型的编码?一种热编码?

最佳答案

如何为 LibSVM 编码您的功能取决于您与 SVM 一起使用的内核。例如,字符串内核允许您直接将字符串用作 SVM 的特征。 LibSVM FAQ讨论了可与 LibSVM 一起使用的字符串内核的实现。我还找到了string kernel implementation in Python ,虽然还没有测试过。

关于分类特征,这些特征可以与 LibSVM 中提供的标准内核一起使用。编码分类特征的典型方法是将它们转换为二进制特征,其中每个分类值表示为特定特征的值1。例如,对于一个特征 color={red, green, blue},我们可以有 3 个特征 red={0,1}green={0 ,1},蓝色={0,1}。那么,Gaussian/RBF 等内核应该能够毫无问题地处理数据。

关于java - 在 libsvm 中编码分类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38611627/

相关文章:

java - poi-ooxml-schemas-3.14 JAR 中缺少 STSheetViewType 类

java - 有关 Java 节点的基础知识

Java 8 UTF-8 编码问题(java 错误?)

algorithm - 是什么让机器学习任务变得困难或 'complex'?关于模式的复杂性,而不是计算的复杂性

algorithm - 如何实现一个特性推荐引擎?

java - 403 禁止 : Jsoup can't handle session cookies properly?

java - 在 Android 中使用 OpenCV 加载图像

iphone - 从字符串 iOS 中删除字符

html - mailto : link 中的英镑符号问题

machine-learning - 机器学习算法中的循环数据