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/