码迷,mamicode.com
首页 > 编程语言 > 详细

python离散特征编码

时间:2018-05-08 23:52:05      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:span   离散   font   imp   water   nbsp   key   blog   for   

离散特征编码分两种,特征具有大小意义,特征不具有大小意义。

1、特征不具备大小意义的直接独热编码

2、特征有大小意义的采用映射编码

[python] view plain copy
 
  1. import pandas as pd   
  2. df = pd.DataFrame([    
  3.             [‘green‘, ‘M‘, 10.1, ‘label1‘],     
  4.             [‘red‘, ‘L‘, 13.5, ‘label2‘],     
  5.             [‘blue‘, ‘XL‘, 15.3, ‘label2‘]])    
  6. # color、label不具备大小含义,size具有大小意义  
  7. df.columns = [‘color‘, ‘size‘, ‘length‘, ‘label‘]    
  8. df  

技术分享图片

 

[python] view plain copy
 
  1. size_mapping = {    
  2.            ‘XL‘: 3,    
  3.            ‘L‘: 2,    
  4.            ‘M‘: 1}    
  5. df[‘size‘] = df[‘size‘].map(size_mapping)    
  6.     
  7. label_mapping = {lab:idx for idx,lab in enumerate(set(df[‘label‘]))}    
  8. df[‘label‘] = df[‘label‘].map(label_mapping)    
  9. df  

技术分享图片

直接使用函数进行独热编码

并不会区分是否具有大小含义

 

[python] view plain copy
 
  1. import pandas as pd   
  2. df = pd.DataFrame([    
  3.             [‘green‘, ‘M‘, 10.1, ‘label1‘],     
  4.             [‘red‘, ‘L‘, 13.5, ‘label2‘],     
  5.             [‘blue‘, ‘XL‘, 15.3, ‘label2‘]])    
  6. # color、label不具备大小含义,size具有大小意义  
  7. df.columns = [‘color‘, ‘size‘, ‘length‘, ‘label‘]    
  8. pd.get_dummies(df)  

技术分享图片

get_dummies用法:

 

[python] view plain copy
 
  1. import pandas as pd  
  2. s = pd.Series(list(‘abca‘))  
  3. pd.get_dummies(s)  

 

 

 

[python] view plain copy
 
  1. df = pd.DataFrame({‘A‘: [‘a‘, ‘b‘, ‘a‘], ‘B‘: [‘b‘, ‘a‘, ‘c‘],  
  2.                     ‘C‘: [1, 2, 3]})  
[python] view plain copy
 
  1. pd.get_dummies(df, prefix=[‘col1‘, ‘col2‘])  

 

python离散特征编码

标签:span   离散   font   imp   water   nbsp   key   blog   for   

原文地址:https://www.cnblogs.com/fujian-code/p/9011589.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!