OpenHarmony开发者论坛
标题:
特征值编码实例
[打印本页]
作者:
俺也不知道叫啥名字好听
时间:
2024-12-29 20:46
标题:
特征值编码实例
[md]# **特征值编码**
## 简介
** **特征值编码是数据预处理中的一种重要技术。在机器学习和数据挖掘领域,数据通常包含各种类型的特征,而很多算法要求这些特征以数值形式表示。特征值编码就是将非数值型的特征转换为数值型特征的过程。
## 功能实现
#### 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 |
---
**完成编码**
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5