使用连续和分类特征进行预测

机器算法验证 分类 预测模型 分类数据 连续数据 离散数据
2022-02-05 02:39:19

一些预测建模技术更适合处理连续预测变量,而另一些更适合处理分类或离散变量。当然,存在将一种类型转换为另一种类型的技术(离散化、虚拟变量等)。但是,是否有任何预测建模技术旨在同时处理两种类型的输入,而无需简单地转换特征的类型?如果是这样,这些建模技术是否往往更适用于它们更自然适合的数据?

我所知道的最接近的事情是决策树通常可以很好地处理离散数据,并且它们可以处理连续数据而不需要预先离散然而,这并不是我想要的,因为实际上连续特征的分割只是动态离散化的一种形式。

作为参考,这里有一些相关的、非重复的问题:

4个回答

据我所知,并且我过去曾深入研究过这个问题,没有任何预测建模技术(除了树、XgBoost 等)可以同时处理两种类型的输入,而无需简单地转换特征的类型。

请注意,随机森林和 XGBoost 等算法接受混合特征的输入,但它们会应用一些逻辑来在节点拆分期间处理它们。确保您了解“幕后”的逻辑,并且您对黑匣子中发生的任何事情都感到满意。

然而,基于距离/核的模型(例如,K-NN、NN 回归、支持向量机)可用于通过定义“特殊”距离函数来处理混合类型的特征空间。这样,对于每个特征,应用适当的距离度量(例如,对于数字特征,我们将计算 2 个数字的欧几里德距离,而对于分类特征,我们将简单计算 2 个字符串值的重叠距离)。所以,用户之间的距离/相似度u1u2在功能fi, 如下: d(u1,u2)fi=(discategorical(u1,u2)fi如果特征fi 是分类的, d(u1,u2)fi=disnumeric(u1,u2)fi如果特征fi 是数字。和 1 如果特征fi没有定义在u1或者u2.

分类特征的一些已知距离函数:

  • Levenshtien 距离(或任何形式的“编辑距离”)

  • 最长公共子序列度量

  • 高尔距离
  • 还有更多指标在这里
    • Boriah, S.、Chandola 和 V.、Kumar, V. (2008)。分类数据的相似性度量:比较评估。在:第 8 届 SIAM 数据挖掘国际会议论文集,SIAM,p。243-254。

我知道这个问题发布已经有一段时间了,但如果您仍在研究这个问题(或类似问题),您可能需要考虑使用广义加法模型(GAM)。我不是专家,但这些模型允许您组合不同的模型来创建一个预测。用于为您输入的模型查找系数的过程可以同时解决所有这些问题,因此您可以发送一个广义加性模型,您最喜欢的分类预测器模型和您最喜欢的连续预测器模型,并获得一个最小化 RSS 或您要使用的任何其他错误标准。

在我的脑海中,我所知道的唯一实现 GAM 的软件包是语言 R,但我相信还有其他的。

虽然离散化将连续数据转换为离散数据,但很难说虚拟变量将分类数据转换为连续数据。实际上,由于算法可以在计算机上运行,​​因此几乎没有分类器算法不会将分类数据转换为虚拟变量。

在同样的意义上,分类器最终将其预测变量转换为指示类别归属的离散变量(即使它输出类别概率,您最终也会选择一个截止值)。事实上,逻辑回归、随机森林、决策树和 SVM 等许多分类器都可以很好地处理这两种类型的数据。

我怀疑很难找到一种适用于连续数据但根本无法处理分类数据的算法。通常我倾向于发现它对模型左侧的数据类型有更大的影响。

这是一个深刻的哲学问题,通常从统计和机器学习端解决。有人说,分类对于离散到分类的指标更好,这样包可以很容易地消化模型输入。其他人说,分箱会导致信息丢失,但是可以/必须将分类变量转换为 {1,0} 指示变量,省略模型残差的最后一个类别。

这本书 - Applied linear regression (Kutner et al.) 在前几章提到了在模型中引入指标变量的逻辑。可能还有其他类似的文字。

我对此的看法可能有点牵强:如果我们将分类变量想象成实验设计中的块,那么指示变量是对基于非实验的数据分析的自然扩展。对于数据挖掘算法(决策树族),分类是不可避免的(手动或自动分箱),必须将其提供给模型。

因此,可能没有以相同方式专门用于数值和分类变量的模型(没有分箱数值或使用指标分类)。