python对离散变量的one-hot编码方法-创新互联

我们在进行建模时,变量中经常会有一些变量为离散型变量,例如性别。这些变量我们一般无法直接放到模型中去训练模型。因此在使用之前,我们往往会对此类变量进行处理。一般是对离散变量进行one-hot编码。下面具体介绍通过python对离散变量进行one-hot的方法。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、成都外贸网站建设公司、特克斯网络推广、小程序设计、特克斯网络营销、特克斯企业策划、特克斯品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供特克斯建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

注意:这里提供两种哑编码的实现方法,pandas和sklearn。它们大的区别是,pandas默认只处理字符串类别变量,sklearn默认只处理数值型类别变量(需要先 LabelEncoder )

① pd.get_dummies(prefix=)

pandas的get_dummies()可以直接对变量进行one-hot编码,其中prefix是为one-hot编码后的变量进行命名。

②LabelEncoder和OneHotEncoder

我们也可以通过sklearn的模块实现对离散变量的one-hot编码,其中LabelEncoder是将离散变量替换为数字,

OneHotEncoder则实现对替换为数字的离散变量进行one-hot编码。

注:get_dummies()可以直接对字符型变量进行one-hot编码,但OneHotEncoder不能直接对字符型变量编码,因此我们需要先将字符型变量转换为数值型变量。这就是为什么在OneHotEncoder之前需要LabelEncoder的原因。

下面我们通过实例来介绍这两种方法的具体使用:

①数据的导入

import pandas as pd
import os
os.getcwd() 
os.chdir('E:\study\kaggle\Titanic')
from sklearn.preprocessing import OneHotEncoder 
from sklearn.preprocessing import LabelEncoder 
data = pd.read_csv('train.csv')

分享标题:python对离散变量的one-hot编码方法-创新互联
文章网址:http://bzwzjz.com/article/deiopc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站设计制作 成都网站建设 古蔺网站建设 广安网站设计 成都定制网站建设 手机网站制作 攀枝花网站设计 公司网站建设 高端网站设计推广 企业网站设计 网站建设方案 成都网站建设公司 网站建设改版 营销网站建设 泸州网站建设 成都商城网站建设 网站制作报价 成都响应式网站建设 阿坝网站设计 成都网站制作 成都网站建设 温江网站设计