ApproachingCategoricalVar处理分类变量
1. 认识分类变量
分类变量/特征是指任何特征类型,可分为两⼤类:
- 无序
- 有序
无序变量是指两个或两个以上类别的变量,类别没有任何相关顺序。例如,如果将性别分为两组,即男性和⼥性,则可将其视为名义变量。 有序变量是指两个或 两个以上类别的变量,其中每个类别都有顺序。例如,如果将教育程度分为“小学”、“初中”、“高中”、“大学”等,则可将其视为序数变量。
就定义⽽⾔,我们也可以将分类变量分为⼆元变量,即只有两个类别的分类变量。有些⼈甚⾄把分类变量称为 "循环 "变量。周期变量以 "周期 "的形式存在,例如⼀周中的天数: 周⽇、周⼀、周⼆、周三、周四、周五和周六。周六过后,⼜是周⽇。这就是⼀个循环。另⼀个例⼦是⼀天中的⼩时数,如果我们将它们视为类别的话。
分类变量有很多不同的定义,很多⼈也谈到要根据分类变量的类型来处理不同的分类变量。不过,我认为没有必要这样做。所有涉及分类变量的问题都可以⽤同样的⽅法处理。
开始之前,我们需要⼀个数据集(⼀如既往)。要了解分类变量,最好的免费数据集之⼀是 Kaggle分类特征编码挑战赛中的 cat-in-the-dat 。共有两个挑战,我们将使⽤第⼆个挑战的数据,因为它⽐前⼀个版本有更多变量,难度也更⼤。
数据集由各种分类变量组成:
- ⽆序
- 有序
- 循环
- ⼆元
目标变量对于学习分类变量来说并不十分重要,但最终我们将建立一个端到端模型,因此我们需要看图2的目标变量分布。目标是偏斜的,因此,对于这个二元分类问题来说,最好的指标是ROC曲线下面积(AUC)。我们也可以使用精确度和召回率,但AUC结合了这两个指标。因此,AUC是评估方法的最好选择。
总体⽽⾔,有:
- 5个⼆元变量
- 10个⽆序变量
- 6个有序变量
- 2个循环变量
- 1个⽬标变量
让我们看看数据集中的ord_2特征。它包括6个不同的类别:
- 冰冻
- 温暖
- 寒冷