scikit-learn中的OneHotEncoder用法

本文详细介绍了scikit-learn库中的OneHotEncoder,用于将分类特征转化为数值数组,实现One-Hot编码。内容包括OneHotEncoder的基本原理、参数解释、使用示例及其在scikit-learn 0.20版本后的变化,如支持字符串和新增参数。
摘要由CSDN通过智能技术生成

OneHotEncoder 可用于将分类特征的每个元素转化为一个可直接计算的数值,也即特征值数字化,常用于特征工程中的数据预处理。

其本质是One-Hot编码在scikit-learn中的实现。

One-Hot
One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候只有一位有效。

One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值,然后,每个整数值被表示为二进制向量,将整数索引标记为1,其余都标为0。

sklearn 中的 OneHotEncoder
直达官网: sklearn.preprocessing.OneHotEncoder

基本参数:
# Encode categorical integer features as a one-hot numeric array.
OneHotEncoder(n_values=None,  
                        categorical_features=None, 
                        categories=None, 
                        drop=None, 
                        sparse=True,
                    dtype=np.float64,
                        handle_unknown='error')
示例:

#-*- coding: utf-8 -*-
from sklearn.preprocessing import  OneHotEncoder

enc = OneHotEncoder()
enc.fit([[0, 0, 3],
         [1, 1, 0],
         [0, 2, 1],
         [1, 0, 2]])

ans = enc.transform([[0, 1,

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值