数据处理方法--OrdinalEncoder自然数排序

本文介绍了如何使用Python的sklearn库中的OrdinalEncoder转化器对离散字段进行排序,通过编码将类别值转化为自然数值,展示了训练过程和映射关系的获取方法。
摘要由CSDN通过智能技术生成

实现原理

首先是自然数排序方法,该方法的过程较为简单,即先对离散字段的不同取值进行排序,然后对其进行自然数值取值转化,例如下述过程:
在这里插入图片描述

实现过程

可以直接考虑调用sklearn中的OrdinalEncoder()评估器(转化器)。

from sklearn import preprocessing

# 和所有的sklearn中转化器使用过程类似,需要先训练、后使用:
X1 = np.array([['F'], ['M'], ['M'], ['F']])

# 实例化转化器
enc = preprocessing.OrdinalEncoder()

# 在X1上训练
enc.fit(X1)

# 对X1数据集进行转化
enc.transform(X1)
# 运行结果
# array([[0.],
#        [1.],
#        [1.],
#        [0.]])

# 当然,该评估器的训练过程就相当于记录了原分类变量不同取值和自然数之间的对应关系,我们可以调用转化器如下属性来查看映射关系:
enc.categories_
# [array(['F', 'M'], dtype='<U1')]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值