• python离散特征编码


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

    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'])  
    
    
    
  • 相关阅读:
    Balanced Substring
    解决vscode可以编译通过c++项目,但头文件有红色波浪线的问题
    Poj2299---Ultra-QuickSort
    树状数组
    内置函数
    函数式编程,尾调用,map函数,filter函数,reduce函数
    函数作用域和匿名函数
    函数参数/局部变量与全局变量/前向引用(函数即变量)
    函数的定义
    字符串格式化
  • 原文地址:https://www.cnblogs.com/fujian-code/p/9011589.html
Copyright © 2020-2023  润新知