四、啞變量處理


(一)啞變量處理類別數據
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