如何处理具有分类属性的SVM


18

我有35个维度的空间(属性)。我的分析问题是一个简单的分类问题。

在35个维度中,超过25个是分类类别,每个属性采用50多种类型的值。

在这种情况下,引入虚拟变量对我也不起作用。

如何在具有很多分类属性的空间上运行SVM?

Answers:


22
  1. 如果确定类别属性实际上是序数,则只需将其视为数字属性即可。
  2. 如果不是,请使用一些编码技巧将其转换为数值属性。根据libsvm作者的建议,可以简单地使用1-of-K编码。例如,假设一维类别属性从获取值。只是把它变成3维数,且有= 1 0 0 = 0 1 0 C ^ = 0 0 1 {一种C}一种=1个00=01个0C=001个。当然,这将在您的问题中带来很多额外的维度,但是对于现代SVM求解器(无论您采用的是线性类型还是内核类型),这都不是一个严重的问题。

+1这也是我要说的!顺便说一句,我还要补充一点,有时会使用递归分区来确定最适合在连续值要素中进行裁剪的位置,然后将它们划分为bin。
凯尔。

有趣!“递归分区”对我来说听起来像是(二叉树)。这两个想法有什么区别?此外,SVM已经能够处理连续特征,为什么我们要将其转换为bin(再次分类数据)?
pengsun.thu 2013年

3
创建k-1个虚拟变量对于ak级分类变量是否足够?例如这里A =(1,0,0),B =(0,1,0),跳过(0,0,1)?
2014年

跟进问题:0-1哑元数据是否不需要额外缩放?
AZhao
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.