AttributeError: 'numpy.ndarray' object has no attribute 'OneHotEncoder'
时间: 2023-11-13 13:03:43 浏览: 131
one-hot编码
这个错误通常是由于numpy数组没有OneHotEncoder属性导致的。OneHotEncoder是sklearn.preprocessing库中的一个类,用于将分类变量转换为二进制向量。如果你想使用OneHotEncoder,需要先导入sklearn.preprocessing库并创建一个OneHotEncoder对象,然后将numpy数组转换为pandas DataFrame对象,最后使用OneHotEncoder对象对DataFrame进行转换。例如:
```
from sklearn.preprocessing import OneHotEncoder
import pandas as pd
# 创建OneHotEncoder对象
encoder = OneHotEncoder()
# 将numpy数组转换为pandas DataFrame对象
data = pd.DataFrame(numpy_array)
# 使用OneHotEncoder对象对DataFrame进行转换
result = encoder.fit_transform(data)
```
如果你只是想对numpy数组进行OneHot编码,可以使用pandas.get_dummies()函数。例如:
```
import pandas as pd
# 将numpy数组转换为pandas DataFrame对象
data = pd.DataFrame(numpy_array)
# 对DataFrame进行OneHot编码
result = pd.get_dummies(data)
```
阅读全文