我正在尝试找出预测scikit-learn中分类特征的最佳通用方法,并希望得到一些建议。 特别是,我可以做一个决策树,它可以很好地处理分类数据,但我想尝试其他一些多分类模型。 我可以使用 one-hot 方法将分类特征转换为许多二进制特征。
示例训练集:
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"特征是否被理解为相互排斥。 因此,我的问题:
除了决策树之外,是否可以使用广义分类例程来预测分类特征?
如何确保一组二进制特征保持互斥?
此外,是否可以在智能连接三个二进制特征的指标中呈现结果?
感谢您的帮助!
是的,这是可能的。只是不要"一热"你的输出向量。将其转换为数字。
如频率:
'<30' = 0
'>30' = 1
'Never' = 2
如果这样做,任何回归算法都应该有效。然后,您可以为每个输出类设置阈值。
另一种选择是有 3 个二元分类模型,每个模型都针对每个类进行训练。
另外,看看Softmax回归。