线性回归与逻辑回归:原理、问题及解决方案
1. 不同类型特征的混合处理
线性回归是一种简单有效的工具,但在处理不同类型数据时会遇到诸多问题。线性回归只能将响应建模为定量数据,当需要将类别作为响应时,就需要转向逻辑回归。在处理预测变量时,使用连续数值特征效果最佳,但也可以处理序数和经过转换的定性类别。
1.1 定性特征的转换
定性特征(也称为分类特征)可以表示颜色、职业等。可以使用二进制编码等技术将定性特征转换为二进制特征,其中最常见的方法是独热编码(One-Hot Encoding)。以下是使用 Scikit-learn 进行独热编码的示例代码:
from sklearn.preprocessing import OneHotEncoder
from sklearn.preprocessing import LabelEncoder
lbl = LabelEncoder()
enc = OneHotEncoder(sparse=False)
qualitative = ['red', 'red', 'green', 'blue',
'red', 'blue', 'blue', 'green']
labels = lbl.fit_transform(qualitative).reshape(-1, 1)
print(enc.fit_transform(labels))
运行上述代码后,会得到一个由 0 和 1 组成的矩阵,每列对应一个类别标签。独热编码先将字符串标签编码为数字,再将数字编码为二进制列。