Ошибка значения: Метрики классификации не могут обрабатывать сочетание непрерывных и многоклассовых целей (XGBoost)

#python #xgboost #xgbclassifier

Вопрос:

для проекта я использую классификатор с 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, я получаю следующую ошибку:

Ошибка значения: Метрики классификации не могут обрабатывать сочетание непрерывных и многоклассовых целей

Я использую классификацию, поэтому мой поиск в Интернете до сих пор не помог решить эту проблему. Я думаю, что проблема может заключаться в том, что в этом столбце в файле .csv значения являются как целыми, так и действительными числами. Я понятия не имею, как решить эту проблему. Я надеюсь, что кто-нибудь здесь сможет мне помочь.

РЕДАКТИРОВАТЬ: Я уже пытался заставить все столбцы с dtype == ‘int64’ быть dtype == ‘float64’. К сожалению, это не помогло.

Комментарии:

1. что такое dtype атрибута target_attribute?

2. Это int64 — Я попытался заставить dtpye быть float64, но снова получил ту же ошибку.