zoukankan      html  css  js  c++  java
  • 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'])  
    
    
    
  • 相关阅读:
    SpringMVC运行原理浅析
    JavaEE就业学习路线(给初学者以及自学者一个学习方向)
    Java 教程
    EL表达式
    Java 教程 (Java 对象和类)
    Java 教程(开发环境配置+基础语法)
    简介几种负载均衡原理
    Linux常用命令大全
    Java 数据结构
    Java 包(package)
  • 原文地址:https://www.cnblogs.com/fujian-code/p/9011589.html
Copyright © 2011-2022 走看看