第一次课Q&A
1.如何将类别型变量引入线性回归,提出至少1种方案?
针对类别变量,想要将其引入线性回归,基本的思路就是重新编码,有这么几种重新编码的方法
一、replace&map法
相对而言,replace可能更加针对的是,有些时候,在我们要进行特征处理的变量中,并不是所有的取值都需要进行特征处理,只需要对其中部分不符合要求的取值进行替换的情况。
比如说在一列数据中,有个别值与其他值不统一,这时我就可以采取replace法
import pandas as pd
test_dict = {'id': [1, 2, 3, 4, 5, 6, 7, 8], # 构建测试数据``
'math':[96,70,65, 30, 93, 'A', 66, 88]}
test_df = pd.DataFrame(test_dict)
# 将math一列中的A替换93
test_df.replace({'math': {'A':93}}, inplace=True)
test_df
除了使用 replace() 方法,也可以应用内置的 map() 方法进行直接替换处理。
map() 可以对 Dataframe 中某列内的元素进行操作,在此情景下的作用是:根据映射关系,为指定列匹配结果并进行替换。其处理原理与使用 replace() 进行直接替换的方式一致,需要自行指定各类别取值应该如何转换为数值。
但其特别之处在于,map() 方法作用于整列变量的元素,因此需要对该列变量中所有可能出现的取值指定映射关系,否则没有指定映射关系的取值将会被转换成NaN。因此,不适用于取值类别特别多的时候。
借用讲述 replace() 部分的案例,我们要做的工作是将93转换成为A。
如果使用 map() 方法,并只对93进行转换,而没有对所有取值指定映射关系。上例案例可以修改为:
test_d

本文介绍了如何将类别型变量引入线性回归,包括replace&map法、LabelEncoding、OneHot Encoding和虚拟变量处理法,并探讨了自变量标准化对模型的影响,如提升收敛速度和精度,防止梯度爆炸。
最低0.47元/天 解锁文章
589

被折叠的 条评论
为什么被折叠?



