栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Python中进行热编码?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Python中进行热编码?

方法1:你可以在pandas数据框上使用

get_dummies

范例1:

import pandas as pds = pd.Series(list('abca'))pd.get_dummies(s)Out[]:      a    b    c0  1.0  0.0  0.01  0.0  1.0  0.02  0.0  0.0  1.03  1.0  0.0  0.0

范例2:

下面将把给定的列转换为热点。使用前缀具有多个虚拟变量。

import pandas as pddf = pd.Dataframe({          'A':['a','b','a'],          'B':['b','a','c']        })dfOut[]:    A  B0  a  b1  b  a2  a  c# Get one hot encoding of columns Bone_hot = pd.get_dummies(df['B'])# Drop column B as it is now enpreddf = df.drop('B',axis = 1)# Join the enpred dfdf = df.join(one_hot)df  Out[]:        A  a  b  c    0  a  0  1  0    1  b  1  0  0    2  a  0  0  1

方法2:使用Scikit学习

给定具有三个特征和四个样本的数据集,我们让编码器找到每个特征的最大值,并将数据转换为二进制的一键编码。

>>> from sklearn.preprocessing import OneHotEnprer>>> enc = oneHotEnprer()>>> enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])   oneHotEnprer(categorical_features='all', dtype=<class 'numpy.float64'>,   handle_unknown='error', n_values='auto', sparse=True)>>> enc.n_values_array([2, 3, 4])>>> enc.feature_indices_array([0, 2, 5, 9], dtype=int32)>>> enc.transform([[0, 1, 1]]).toarray()array([[ 1.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.]])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635065.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号