积分10 / 贡献0

提问0答案被采纳0文章9

作者动态

[经验分享] 特征值编码实例

俺也不知道叫啥名字好听 显示全部楼层 发表于 2024-12-29 20:46:51

特征值编码

简介

特征值编码是数据预处理中的一种重要技术。在机器学习和数据挖掘领域,数据通常包含各种类型的特征,而很多算法要求这些特征以数值形式表示。特征值编码就是将非数值型的特征转换为数值型特征的过程。

功能实现

1.国籍编码

details.head()
Player Nation Pos Age
0 André Onana cm CMR GK 27.0
1 Diogo Dalot pt POR DF 24.0
2 Bruno Fernandes pt POR MF,FW 28.0
3 Alejandro Garnacho ar ARG FW 19.0
4 Marcus Rashford eng ENG FW 25.0
# 初始化一个label表,存放后续特征值

label = pd.DataFrame()
*# 对 Nation(国籍) 进行特征值化,采取标签编码*

label_encoder = **LabelEncoder**()

label['Nation_Label'] = label_encoder.**fit_transform**(details['Nation'])

label.**head**()
Nation_Label
0 3
1 11
2 11
3 0
4 5

这样每个国籍都会有一个Nation_Label对应,例如3--cm CMR(喀麦隆) , 11-- pt POR(葡萄牙), 0-- ar ARG, 5--eng ENG……


2.位置编码

# 获取 Pos(位置) 的所有可能取值

unique = details['Pos'].unique()

unique
array(['GK', 'DF', 'MF,FW', 'FW', 'MF,DF', 'MF', 'FW,MF'], dtype=object)
# 新建一个 list 存放所有 Pos(位置) 取值

# GK = Goalkeeper(守门员)

# DF = Defender(后卫球员)

# MF = Midfielder(中场球员)

# FW = Forward(前锋球员)

positions = ['GK', 'DF', 'MF', 'FW']

# 初始化哑变量矩阵

zero_matrix = np.zeros((len(details['Pos']), len(positions)))

dummies = pd.DataFrame(zero_matrix, columns = positions)

dummies.head()
GK DF MF FW
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0
4 0.0 0.0 0.0 0.0

完成编码

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部