如果我的数据集中有一个非数值变量,其中一个类别的数据很多,而另一个类别的数据很少,这是否会导致与目标类别不平衡时相同的问题?
例如,如果我的一个变量是头衔,目标是识别一个人是否肥胖。肥胖类别的数据比例是50:50,但只有一个行拥有“公爵”头衔,且这一行属于肥胖类别。这是否意味着像逻辑回归这样的算法(在数值编码后)会开始预测所有公爵都是肥胖的(或者对“公爵”头衔有不成比例的权重)?如果是这样的话,是否有些算法在处理这种情况时表现更好或更差?有没有办法防止这种问题?
回答:
是的,任何标准的机器学习算法都会以相同的方式处理分类数据和数值数据,从特定特征的信息熵角度来看。
请考虑这一点,在应用任何机器学习算法之前,你应该分析你的输入特征,并确定每个特征对目标的解释方差。在你的例子中,如果“公爵”标签总是被识别为肥胖,那么在那个特定的数据集中,这是一个信息量极大的特征,应该相应地加权处理。
我会通过为该特征添加权重来减轻这个问题,从而最小化它对目标的影响。然而,如果这个特征对其他实例来说非常有信息量,这将是一种遗憾。
一个可以轻松绕过这个问题的算法是随机森林(决策树)。你可以消除任何基于该特征为“公爵”的规则。
在将这个特征映射到数字时要非常小心,因为这会影响大多数算法对该特征重要性的归因。