这是我的错误
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)```
这是我的数据集
回答:
这里:
X = dataset.iloc[:, :-13].valuesy = dataset.iloc[:, -13].values
你不是在构建特征数组X
和目标数组y
,而是按行拆分了你的数据集,这不是你想要的。
只有你自己知道你要预测的类在哪里,你想要将其设为你的目标数组。正如错误提示的那样,在进行分类和构建混淆矩阵时,你不应该预测连续变量。