文章目录
前言
类别型特征(Categorical Feature)主要是指性别(男、女)、血型(A、B、
AB、O)等只在有限选项内取值的特征。类别型特征原始输入通常是字符串形
式,除了决策树等少数模型能直接处理字符串形式的输入,对于逻辑回归、支持
向量机等模型来说,类别型特征必须经过处理转换成数值型特征才能正确工作。
一、常见的类别特征转换方法
1.序号编码(Ordinal Encoding)
2.独热编码(One-hot Encoding)
3.二进制编码(Binary Encoding)
常见方法哪里都能查到,这里略过。
二、其他方法
1.赫尔默特对比(Helmert contrasts)
scikit-learn中函数介绍:
https://contrib.scikit-learn.org/category_encoders/helmert.html
该方法是一种正交对比方法
正交对比指在单个方差分析模型中的一组对比,而且对于单个对比来说:各处理效应的系数之和为零。(对比系数向量与截距向量正交)。对于任意两个对比来说,处理效应系数点积为零。(对比系数向量两两正交)。
level | H2 | H3 |
---|---|---|
1(Dutch) | -1/2 | -1/3 |
2(German) | 1/2 | -1/3 |
3(Italian) | 0 | 2/3 |
第一个对比H3比较了种族级别 3 的因变量的平均值与前面所有种族级别(级别 1、2 )的平均值,第二个对比H2比较了级别 2 的因变量的平均值与前面所有种族级别(级别 1)的平均值.
然后在矩阵前面添加一列1
level | 新增 | H2 | H3 |
---|---|---|---|
1(Dutch) | 1 | -1/2 | -1/3 |
2(German) | 1 | 1/2 | -1/3 |
3(Italian) | 1 | 0 | 2/3 |
求逆
[,1] | [,2] | [,3] | |
---|---|---|---|
[,1] | 1/3 | 1/3 | 1/3 |
[,2] | -1 | 1 | 0 |
[,3] | -1/2 | -1/2 | 1 |
赫尔默特对比一般用于对类别变量的量级进行对比,比如当你想知道剂量反应研究中的最小有效剂量时,Helmert 对比可能有用的一个例子。
假设我们有一种新药,我们想知道需要多少药物才能治好头痛。我们将头痛患者分为四组。 A组服用安慰剂,B组服用1片新药,C组服用3片,D组服用4片。在数据分析中,我们首先要确定与安慰剂相比,1 片是否会导致显着减少。如果不是这样,我们可以测试 3 片(C 组)是否比 1 片或没有片(A 组和 B 组组合)效果更好。如果这也没有显示出显着的改善,我们可能想要比较 6 片(D 组)与更少的片(A、B 和 C 组相结合)。
2.Sum Contrast(Sum (Deviation) Coding)
scikit-learn中函数介绍:
https://contrib.scikit-learn.org/category_encoders/sum.html
level of Education | Eductaion_0(PhD vs. mean) | Eductaion_1(HighSchool vs. mean) | Eductaion_2(Bachelor vs. mean) |
---|---|---|---|
PhD | 1 | 0 | 0 |
HighSchool | 0 | 1 | 0 |
Bachelor | 0 | 0 | 1 |
Master | -1 | -1 | -1 |
第一个Education_0将 PhD与所有教育水平进行比较,第二个Education_1将 HighSchool与所有教育水平进行比较,第三个Eductaion_2将 Bachelor与所有教育水平进行比较。编码是通过将 1 分配给类别PhD进行第一次比较(因为类别PhD是要与所有其他类别进行比较的类别),将 1 分配给类别HighSchool进行第二次比较(因为类别 HighSchool 将与所有其他类别进行比较),1 分配给类别Bachelor进行第三次比较(因为 Bachelor将与所有其他类别进行比较)。 请注意,所有三个比较都将 -1 分配给类别Master(因为它是从未与其他类别进行比较的类别),并且所有其他值都分配给 0。
3.Forward Difference Coding
Level of race | race.f1 | race.f2 | race.f3 |
---|---|---|---|
Level 1 v. Level 2 | Level 2 v. Level 3 | Level 3 v. Level 4 | |
1 (Hispanic) | 3/4 | 1/2 | 1/4 |
2 (Asian) | -1/4 | 1/2 | 1/4 |
3 (African American) | -1/4 | -1/2 | 1/4 |
4 (Caucasian) | -1/4 | -1/2 | -3/4 |
表格里的数字遵循以下公式,k为level的个数。
Level of race | race.f1 | race.f2 | race.f3 |
---|---|---|---|
Level 1 v. Level 2 | Level 2 v. Level 3 | Level 3 v. Level 4 | |
1 (Hispanic) | (k-1)/k | (k-2)/k | (k-3)/k |
2 (Asian) | -1/k | (k-2)/k | (k-3)/k |
3 (African American) | -1/k | -2/k | (k-3)/k |
4 (Caucasian) | -1/k | -2/k | -3/k |
4.Backward Difference Coding
Level of race | race.f1 | race.f2 | race.f3 |
---|---|---|---|
Level 1 v. Level 2 | Level 2 v. Level 3 | Level 3 v. Level 4 | |
1 (Hispanic) | -3/4 | -1/2 | -1/4 |
2 (Asian) | 1/4 | -1/2 | -1/4 |
3 (African American) | 1/4 | 1/2 | -1/4 |
4 (Caucasian) | 1/4 | 1/2 | 3/4 |
表格里的数字遵循以下公式,k为level的个数。
Level of race | race.f1 | race.f2 | race.f3 |
---|---|---|---|
Level 1 v. Level 2 | Level 2 v. Level 3 | Level 3 v. Level 4 | |
1 (Hispanic) | -(k-1)/k | -(k-2)/k | -(k-3)/k |
2 (Asian) | 1/k | -(k-2)/k | -(k-3)/k |
3 (African American) | 1/k | 2/k | -(k-3)/k |
4 (Caucasian) | 1/k | 2/k | 3/k |
5.Polynomial Contrast
https://online.stat.psu.edu/stat502_fa21/lesson/10/10.2