- 独热编码(One - Hot Encoding)
- 原理:
- 独热编码主要用于处理分类变量。对于一个具有n个类别属性的分类变量,独热编码会将其转换为n个二进制变量(0或1)。例如,对于“贷款用途”这个分类变量,假设有3种用途:购房、购车、教育。经过独热编码后,会产生3个新的变量,如“贷款用途_购房”“贷款用途_购车”“贷款用途_教育”,当贷款用途是购房时,“贷款用途_购房”这个变量的值为1,其余两个为0;同理,当贷款用途是购车时,“贷款用途_购车”为1,其他为0。
- 适用场景:
- 适用于大多数机器学习算法,因为许多算法不能直接处理分类变量,需要将其转换为数值型变量。尤其是在使用线性模型(如线性回归、逻辑回归)和神经网络时,独热编码可以避免模型错误地学习类别之间的顺序关系。
- 示例(以Python为例):
- 假设
df
是一个包含“贷款用途”这个分类变量的数据框。
from sklearn.preprocessing import OneHotEncoder encoder = OneHotEncoder(sparse=False) loan_purpose = df[['loan_purpose']] encoded_purpose = encoder.fit_transform(loan_purpose) # 将编码后的数据转换为DataFrame并与原始数据合并(假设原始数据还有其他列) new_df = pd.DataFrame(encoded_purpose, columns=encoder.get_feature_names_out(['loan_purpose'])) df = pd
- 假设
- 原理: