特征工程 - 处理分类特征

分类数据通常由有限数量的类别组成,每个类别用字符串表示。例如,如果我们有一个客户数据表,指示一个人所在国家的列就是分类的。类别可能是阿富汗、阿尔巴尼亚、阿尔及利亚等。

分类数据可以是名义的或序数的。序数类别有固有的顺序,而名义类别没有。最高学历(高中、学士、硕士)是序数类别的一个例子。

如果我们的类别是Dog和Cat,我们可以将此信息编码为两个向量,[1,0]表示Dog,[0,1]表示Cat。当我们对序数类别进行编码时,我们可能需要将类别的自然顺序转换为编码。例如,我们可以使用以下映射表示最高学历:“高中”:1,“学士”:2,“硕士”:3。

使用分类编码将字符串格式的分类数据编码为整数数组。在Data Wrangler中,我们有3种编码分类值的方法:

  • 序数编码
  • one-hot编码
  • 相似性编码

使用Data Wrangler,我们可以选择序数编码将类别编码为0到所选输入列中总类别数之间的整数。

one-hot编码或相似性编码适用于以下情况:

  • 有大量的分类变量
  • 数据噪音大

添加一个新的transform,选择Encode categorical:

image-20240905114105143

对6个分类列应用one-hot转换:

  • meal
  • is_repeated_guest
  • market_segment
  • assigned_room_type
  • deposit_type
  • customer_type

image-20240905114222853

点击preview,one-hot结果如下:

image-20240905114819371