写一段sklearn编码分类变量的代码
时间: 2023-07-28 09:51:09 浏览: 76
sklearn 中也提供了对分类变量进行编码的方法,我们可以使用 `OneHotEncoder` 类来实现 One-Hot 编码。下面是一段使用 `OneHotEncoder` 对分类变量进行编码的 Python 代码:
```python
from sklearn.preprocessing import OneHotEncoder
import numpy as np
# 创建一个包含分类变量的数组
data = np.array([['红色'], ['绿色'], ['蓝色'], ['红色']])
# 创建 OneHotEncoder 对象,并进行编码
encoder = OneHotEncoder()
encoded_data = encoder.fit_transform(data)
# 输出编码后的数据
print(encoded_data.toarray())
```
在上面的代码中,我们首先创建一个包含分类变量的数组。然后,我们创建了一个 `OneHotEncoder` 对象,并使用 `fit_transform()` 方法对数组进行 One-Hot 编码。最后,我们将编码后的数据转化为一个 Numpy 数组,并输出编码后的数据。
输出结果如下:
```
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]
[1. 0. 0.]]
```
在编码后的数据中,每个分类变量都被转化为了一个或多个二元变量。例如,原始数据中的 `color` 变量有三个取值:红色、绿色和蓝色。在编码后的数据中,我们为每个取值创建了一个新的二元变量(第一列表示红色,第二列表示绿色,第三列表示蓝色),并将原始数据中的每个样本转化为了一个由这些二元变量构成的向量。
阅读全文