报错解决:“ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘unknown‘ instead.”

目录

  • 一、报错显示
  • 二、报错原因
  • 三、问题解决
  • 四、参考博文:

一、报错显示

  1. ValueError: Supported target types are: ('binary', 'multiclass'). Got 'unknown' instead.
  2. 报错解决:“ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘unknown‘ instead.”_第1张图片

二、报错原因

  1. 原因:target(即输入的标签)类型不正确

  2. 错误定位:
    报错解决:“ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘unknown‘ instead.”_第2张图片
    报错解决:“ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘unknown‘ instead.”_第3张图片
    报错解决:“ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘unknown‘ instead.”_第4张图片

  3. 涉及知识点:python中type(), dtype(),astype()
    (1)type():返回的是数据结构的类型(list, dict, numpy.ndarry),是python的内置函数
    (2)dtype():返回的是数据元素的类型(int, float)
    (3)astype():改变np.array中所有数据元素数据类型

三、问题解决

  1. 方法一:
    (1)将for fold_num, (train_index, test_index) in enumerate(skf.split(X, y)):中的y,使用astype()函数改变数据类型。即:加入一行代码:y = y.astype(float),则原来的dtype=object变成dtype=float,报错解决!!^ _ ^
    (2)对应到自己的代码中可以使用print(y.dtype)语句输出查看
    报错解决:“ValueError: Supported target types are: (‘binary‘, ‘multiclass‘). Got ‘unknown‘ instead.”_第5张图片

  2. 方法二:
    (1)加入三行代码:

	from sklearn.preprocessing import LabelEncoder
    label_encoder = LabelEncoder()
    interactions = label_encoder.fit_transform(interactions)

(2)方法修改参考:
link1
link2

四、参考博文:

  1. 链接: type和dtype

你可能感兴趣的:(python,开发语言)