18 我有35个维度的空间(属性)。我的分析问题是一个简单的分类问题。 在35个维度中,超过25个是分类类别,每个属性采用50多种类型的值。 在这种情况下,引入虚拟变量对我也不起作用。 如何在具有很多分类属性的空间上运行SVM? categorical-data svm — 希马 source
22 如果确定类别属性实际上是序数,则只需将其视为数字属性即可。 如果不是,请使用一些编码技巧将其转换为数值属性。根据libsvm作者的建议,可以简单地使用1-of-K编码。例如,假设一维类别属性从获取值。只是把它变成3维数,且有甲= (1 ,0 ,0 ),乙= (0 ,1 ,0 ),C ^ = (0 ,0 ,1 ){ A ,B ,C}{一种,乙,C}甲= (1 ,0 ,0 )一种=(1个,0,0)乙= (0 ,1 ,0 )乙=(0,1个,0)C= (0 ,0 ,1 )C=(0,0,1个)。当然,这将在您的问题中带来很多额外的维度,但是对于现代SVM求解器(无论您采用的是线性类型还是内核类型),这都不是一个严重的问题。 — 彭顺th source +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