python - 目标是二进制的,但我得到“ValueError:支持的目标类型是:('binary','multiclass')。得到了'unknown'。”
问题描述
我在使用 sklearn KFold 的简单 ML 模型中遇到问题
我使用以下代码对目标值进行分类:
# Import the DB
df = pd.read_csv("DB_ML_TJA20182019.csv")
#Transform continuous target into binary
category = pd.cut(df.length,bins=[0,4,100],labels=[0,1])
df.insert(18,"length_over", category)
现在,如果我打开 csv,我可以看到一个添加的列(length_over
第 18 列,从 0 开始计数),其中包含由列的二值化生成的二值化变量length
。然后,我将数据集保存为一个新文件,并使用以下代码将其拆分为测试验证子集:
# Save the dataset with binary target
df.to_csv(r'DB_ML_TJA20182019_multilabel.csv', index = False)
# Load dataset for ML modeling (already imputed)
url = 'DB_ML_TJA20182019_multilabel.csv'
names = ...
dataset = read_csv(url, names=features, skiprows=1)
# Split-out validation dataset
array = dataset.values
X = array[:,0:18]
y = array[:,18]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.30, random_state=1)
但是,在进行模型评估和比较之前,我得到了错误:Out: "ValueError: Supported target types are: ('binary', 'multiclass'). Got 'unknown' instead."
我还使用检查了目标的类型
#Check the type of target
from sklearn.utils.multiclass import type_of_target
print(type_of_target(y))
结果是unknown
可能是什么问题?当我打开 csv 时,目标是二进制的,但函数将其视为未知...
dtype 是 int64
解决方案
推荐阅读
- excel - 如何在 Excel Javascript API 中获取所选范围的数据?
- java - 没有找到合适的除法方法
- javascript - Fabric.js 未从 SVG 加载路径元素
- reactjs - 为什么在 npm 远程存储库中没有更新最新版本?
- java - 检查互联网连接问题
- properties - 使用 Apache Karaf 等的示例/
.cfg 文件来存储自定义属性并在 Camel Java DSL 路由中使用它们 - oracle - 使用 Spring JPA Hibernate 生成批量/批量序列
- scala - Spark 数据集 withColumn 添加分区 id
- amazon-web-services - 如何通过 IP 限制 AWS Lambda 或 API Gateway?
- javascript - 如何:单选按钮更改图像的不透明度