python - Python-->sklearn-->预处理-->LabelEncoder: Error
问题描述
我运行下面的代码来编码和解码标签,而我的终端显示错误:
if diff:DeprecationWarning: 空数组的真值不明确。返回 False,但将来这将导致错误。用于array.size > 0
检查数组是否为空。
from sklearn import preprocessing as pp
import numpy as np
decode_values=['a','b','c','d','e','f','g']
encoder=pp.LabelEncoder()
encoder.fit(decode_values)
print(encoder.inverse_transform(np.array([0,1])))
我打开 label.py 并获取导致错误的代码:
def inverse_transform(self, y):
"""Transform labels back to original encoding.
Parameters
----------
y : numpy array of shape [n_samples]
Target values.
Returns
-------
y : numpy array of shape [n_samples]
"""
check_is_fitted(self, 'classes_')
diff = np.setdiff1d(y, np.arange(len(self.classes_)))
if diff:
raise ValueError("y contains new labels: %s" % str(diff))
y = np.asarray(y)
return self.classes_[y]
在我的例子中,变量“diff”应该是空的,但是机器无法理解“if diff”。将其更改为“if list(diff)”后,错误消失了。我检查了我的教科书和其他视频,这个错误没有发生。我对差异感到困惑。
解决方案
推荐阅读
- string - 是否有一个 VI 命令通常会在每行的第二个字段中插入一个冒号
- spring-boot - 如何在不考虑其他作业集的情况下将 Spring Batch 作业配置为并行运行?
- c - 在C中按位反转操作
- reactjs - 无法添加属性 effectTag,对象不可扩展
- wordpress - 在 wordpress 主题中导入 vuejs 组件
- ruby-on-rails - 升级 Bitnami Redmine 时迁移失败
- swagger - 来自 Swagger API 定义的 NestJS 代码生成
- github - 许多 Github 站点的图像未显示(内容安全策略)
- python - jinja2 部分转义 {% and '
- logstash - 使用 logstash 日期过滤器插件匹配多种日期格式