据我所知,过去我已经对此问题进行了深入研究,没有预测建模技术(除了树,XgBoost等)可以同时处理两种类型的输入而无需简单地转换功能类型。
请注意,随机森林和XGBoost之类的算法接受混合特征的输入,但是它们在节点拆分期间会应用一些逻辑来处理它们。确保您了解“内幕”的逻辑,并且对黑匣子中发生的一切都没问题。
然而,基于距离/内核的模型(例如,K-NN,NN回归,支持向量机)可以用于通过定义“特殊”距离函数来处理混合类型特征空间。这样,对于每个特征,都应用适当的距离度量(例如,对于数字特征,我们将计算2个数字的欧几里得距离,而对于分类特征,我们将简单地计算2个字符串值的重叠距离)。所以,用户之间的距离/相似和在特征,如下所示:
如果特征 是分类,
如果特征ü1个ü2F一世d(u1个,u2)F一世= (di s - c a t e gØ ř 我Ç 一升(Û1个,u2)F一世 ˚F 我 ð (Û 1,ù 2 )˚F 我 = ð 我š - ñ ù中号Ë ř 我Ç (Û 1,ü 2 )˚F 我 ˚F 我˚F 我ù 1 ü 2F一世d(u1个,u2)F一世= d我š - ñ ü 中号Ë ř 我Ç (Û1个,u2)F一世F一世 是数字。并且如果特征1中没有定义或。F一世ü1个ü2
有关分类特征的一些已知距离函数: