在创建 libsvm 训练文件时,如何区分名义属性和数值属性?我尝试将某些名义属性编码为整数,但我想确保 libsvm 不会错误地将它们解释为数值。不幸的是,libsvm 的站点似乎只有非常少的文档。Pentaho 的文档似乎暗示 libsvm 做了这种区分,但我仍然不清楚它是如何实现的。
回答:
不要这样做 I'm trying to encode certain nominal attributes as integers
。
而是为每个名义属性的每个值使用单独的二元特征。
根据 SVM 的公式,所有属性/特征都是数值型的,而类标签是名义型的。名义属性本质上是通过使用互斥的二元特征来伪造的。