四、哑变量处理


(一)哑变量处理类别数据
1、哑变量处理
数据分析模型中有相当一部分的算法模型都要求输入的特征为数值型,但实际数据中特征的类型不一定只有数值型,还会存在相当一部分的类别型,这部分的特征需要经过哑变量处理才可以放入模型之中

 

 

2、可以使用 get_dummies 函数进行数据的哑变量转化Python 中可以利用 Pandas 库中的 get_dummies 函数对类别型特征进行哑变量处理。
pandas.get_dummies(data,prefix=None, prefix_sep='_',dummy_na=False,columns=None,sparse=False, drop_first=False)

 

 

哑变量处理的特点:
对于一个类别型特征,若其取值有 m 个,则经过哑变量处理后就变成了 m 个二元特征,并且这些特征互斥,每次只有一个激活,这使得数据变得稀疏。对类别型特征进行哑变量处理主要解决了部分算法模型无法处理类别型数据的问题,这在一定程度上起到了扩充特征的作用。由于数据变成了稀疏矩阵的形式,因此也加速了算法模型的运算速度。
哑变量代码实现:
 1 # 将特定的数据 转化为 可以使用的数据---数据变换
 2 
 3 # 两种情况:
 4 # 1、将非数值型数据 ----->数值型(哑变量转化)
 5 
 6 # 创建一个df
 7 # df = pd.DataFrame(
 8 #     data={
 9 #         '城市': ['北京', '上海', '西安', '郑州', '石家庄', '重庆', '成都']
10 #     })
11 # print('df:\n', df)
12 # print('df的类型:\n', type(df))
13 
14 # 城市数据 可能后续 需要计算
15 # # 将城市数据转化为 数值型 ---哑变量转化
16 # data :需要转化的数据
17 # prefix:转化之后列名称的前缀
18 # prefix_sep: 转化之后前缀与数据的连接符
19 # city_data = pd.get_dummies(data=df.loc[:, '城市'],
20 #                            prefix='city',
21 #                            prefix_sep='_'
22 #                            )
23 # print('转化之后的结果:\n', city_data)

 

用途:机器学习模型

 

 

 

 

 

 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM