1

对于我正在使用带有 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_attribute,我就会收到以下错误:

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

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

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

4

0 回答 0