机器学习,不平衡的非数值变量类别是否重要

如果我的数据集中有一个非数值变量,其中一个类别的数据很多,而另一个类别的数据很少,这是否会导致与目标类别不平衡时相同的问题?

例如,如果我的一个变量是头衔,目标是识别一个人是否肥胖。肥胖类别的数据比例是50:50,但只有一个行拥有“公爵”头衔,且这一行属于肥胖类别。这是否意味着像逻辑回归这样的算法(在数值编码后)会开始预测所有公爵都是肥胖的(或者对“公爵”头衔有不成比例的权重)?如果是这样的话,是否有些算法在处理这种情况时表现更好或更差?有没有办法防止这种问题?


回答:

是的,任何标准的机器学习算法都会以相同的方式处理分类数据和数值数据,从特定特征的信息熵角度来看。

请考虑这一点,在应用任何机器学习算法之前,你应该分析你的输入特征,并确定每个特征对目标的解释方差。在你的例子中,如果“公爵”标签总是被识别为肥胖,那么在那个特定的数据集中,这是一个信息量极大的特征,应该相应地加权处理。

我会通过为该特征添加权重来减轻这个问题,从而最小化它对目标的影响。然而,如果这个特征对其他实例来说非常有信息量,这将是一种遗憾。

一个可以轻松绕过这个问题的算法是随机森林(决策树)。你可以消除任何基于该特征为“公爵”的规则。

在将这个特征映射到数字时要非常小心,因为这会影响大多数算法对该特征重要性的归因。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注