机器学习,做不平衡 non-numeric 变量 类 的事
Machine learning, Do unbalanced non-numeric variable classes matter
如果我的数据集中有一个 non-numeric 变量,其中包含许多 class 但很少包含另一个 class 是否会导致与目标 classes 相同的问题不平衡?
例如,如果我的变量之一是标题,目的是确定一个人是否肥胖。数据 obese class 被拆分 50:50 但只有一行标题为 'Duke' 并且这一行在 obese class 中。这是否意味着像逻辑回归这样的算法(在数字编码之后)会开始预测所有 Dukes 都肥胖(或者对标题 'Duke' 的权重不成比例)?如果是这样,是否有一些算法 better/worse 可以处理这种情况?有什么办法可以避免这个问题吗?
是的,根据来自特定特征的信息熵,任何普通机器学习算法都会像处理数值数据一样处理分类数据。
考虑到这一点,在应用任何机器学习算法之前,您应该分析您的输入特征并确定每个导致目标的解释方差。在您的情况下,如果标签 Duke 总是被识别为肥胖,那么给定该特定数据集是一个非常高的信息特征,应该这样加权。
我会通过为该功能增加权重来缓解这个问题,从而最大限度地减少它对目标的影响。但是,如果这对于其他实例来说是一个非常有用的功能,那将是一种耻辱。
可以轻松规避此问题的一种算法是随机森林(决策树)。您可以消除任何基于此特征为 Duke 的规则。
将此功能映射到数字时要非常小心,因为这会影响大多数算法赋予此功能的重要性。
如果我的数据集中有一个 non-numeric 变量,其中包含许多 class 但很少包含另一个 class 是否会导致与目标 classes 相同的问题不平衡?
例如,如果我的变量之一是标题,目的是确定一个人是否肥胖。数据 obese class 被拆分 50:50 但只有一行标题为 'Duke' 并且这一行在 obese class 中。这是否意味着像逻辑回归这样的算法(在数字编码之后)会开始预测所有 Dukes 都肥胖(或者对标题 'Duke' 的权重不成比例)?如果是这样,是否有一些算法 better/worse 可以处理这种情况?有什么办法可以避免这个问题吗?
是的,根据来自特定特征的信息熵,任何普通机器学习算法都会像处理数值数据一样处理分类数据。
考虑到这一点,在应用任何机器学习算法之前,您应该分析您的输入特征并确定每个导致目标的解释方差。在您的情况下,如果标签 Duke 总是被识别为肥胖,那么给定该特定数据集是一个非常高的信息特征,应该这样加权。
我会通过为该功能增加权重来缓解这个问题,从而最大限度地减少它对目标的影响。但是,如果这对于其他实例来说是一个非常有用的功能,那将是一种耻辱。
可以轻松规避此问题的一种算法是随机森林(决策树)。您可以消除任何基于此特征为 Duke 的规则。
将此功能映射到数字时要非常小心,因为这会影响大多数算法赋予此功能的重要性。