我正在试图找出预测scikit-learn中分类特征的最佳通用方法,并希望得到一些建议。特别是,我可以做一个决策树,它会很好地处理分类数据,但我想尝试一些其他的多分类模型。我可以使用单热方法将分类特征转换为许多二进制特征。
训练集示例:
Age| Color | City | Freq
35 |'Orange'|'Seattle' | '<30'
55 |'Black' |'Portland'| '>30'
75 |'Red' |'Seattle' | 'Never'
可以轻松更改为:
Age| Color |City | Freq
35 | 1 0 0 | 1 0 | 1 0 0
55 | 0 1 0 | 0 1 | 0 1 0
75 | 0 0 1 | 1 0 | 0 0 1
我可以将其拆分为数据目标对:
X= Age| Color |City
35 | 1 0 0 | 1 0
55 | 0 1 0 | 0 1
75 | 0 0 1 | 1 0
y= Freq
1 0 0
0 1 0
0 0 1
然后我可以使用各种SK-Learn分类模型来处理这个问题,但我不清楚这三个“Freq&#39;功能被理解为相互排斥。因此我的问题是:
除了决策树之外,是否可以使用广义分类例程来预测分类特征?
如何确保一组二进制功能保持互斥?
此外,是否可以将结果显示在一个智能地连接三个二进制特征的度量中?
感谢您的帮助!
答案 0 :(得分:0)
是的,这是可能的。只是不要'一热'你的输出向量。将其转换为数字。
与Freq:
一样'<30' = 0
'>30' = 1
'Never' = 2
如果你这样做,任何回归算法都应该有效。然后,您可以为每个输出类设置阈值。
另一个选择是拥有3个二进制分类模型,每个模型都为每个类进行训练。
另外,看看Softmax回归。