ValueError: xgboost分类不支持连续值

这是我的错误

ValueError                                Traceback (most recent call last)<ipython-input-5-7c13d55b8367> in <module>()      1 from sklearn.metrics import confusion_matrix, accuracy_score      2 y_pred = classifier.predict(X_test)----> 3 cm = confusion_matrix(y_test, y_pred)      4 print(cm)      5 accuracy_score(y_test, y_pred)

第二帧

/usr/local/lib/python3.7/dist-packages/sklearn/metrics/_classification.py in _check_targets(y_true, y_pred)     95     # 没有度量支持"多类多输出"格式     96     if (y_type not in ["binary", "multiclass", "multilabel-indicator"]):---> 97         raise ValueError("{0} is not supported".format(y_type))     98      99     if y_type in ["binary", "multiclass"]:ValueError: 不支持连续值

这是我的代码

import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('NBA_proj_14.csv')X = dataset.iloc[:, :-13].valuesy = dataset.iloc[:, -13].values

将数据集拆分为训练集和测试集

from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

在训练集上训练XGBoost

from xgboost import XGBClassifierclassifier = XGBClassifier()classifier.fit(X_train, y_train)

制作混淆矩阵

from sklearn.metrics import confusion_matrix, accuracy_scorey_pred = classifier.predict(X_test)cm = confusion_matrix(y_test, y_pred)print(cm)accuracy_score(y_test, y_pred)```

这是我的数据集

enter image description here


回答:

这里:

X = dataset.iloc[:, :-13].valuesy = dataset.iloc[:, -13].values

你不是在构建特征数组X和目标数组y,而是按行拆分了你的数据集,这不是你想要的。

只有你自己知道你要预测的类在哪里,你想要将其设为你的目标数组。正如错误提示的那样,在进行分类和构建混淆矩阵时,你不应该预测连续变量。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注