ValueError:分类指标无法处理连续目标和多类目标的混合(XGBoost)

2024-04-25 09:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

对于一个项目,我使用了一个分类器和XGBoost。以下是代码的一部分:

import ...

tab = 'tab.csv'
datasset = read_csv(tab, decimal=".")

target_attribute = dataset['AVG']

a = random.randrange(1, 1000)
seed = a
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(dataset, target_attribute, test_size=test_size,
                                                        random_state=seed)

X_train = np.array(X_train)
X_test = np.array(X_test)
X_train = X_train.astype(float)
X_test = X_test.astype(float)

model = XGBClassifier()
model.fit(X_train, y_train)

print(model)

y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]

accuracy = accuracy_score(y_test, predictions)

print("Accuracy: %.2f%%" % (accuracy * 100.0))

当我使用某个target_属性时,会出现以下错误:

ValueError: Classification metrics can't handle a mix of continuous and multiclass targets

我使用的是分类法,所以到目前为止我的网络搜索并没有真正帮助解决这个问题。我认为问题可能在于.csv中的这个列中的值都是整数和实数。我不知道如何解决这个问题。我希望这里有人能帮助我

编辑:我已经尝试强制所有dtype=='int64'的列成为dtype=='float64'。不幸的是,这没有帮助