Ошибка XGBoost Python: «Размер меток должен равняться количеству строк»Python

Программы на Python
Ответить
Anonymous
 Ошибка XGBoost Python: «Размер меток должен равняться количеству строк»

Сообщение Anonymous »

Я использую xgboost в Python.

Код: Выделить всё

import pandas as pd
import numpy as np
import xgboost as xgb
from sklearn.model_selection import train_test_split

df=pd.read_csv('442.csv')
y=df.columnone
X=df.columnfive

X_train,X_test,Y_train,Y_test=train_test_split(X,y,test_size=0.2)
dtrain = xgb.DMatrix(X_train, label=Y_train)
dtest = xgb.DMatrix(X_test, label=Y_test)
Форма метки соответствует тренировочному набору?

Код: Выделить всё

X_train.shape
>(405020,)
Y_train.shape
>(405020,)

param = {
'eta': 0.3,
'max_depth': 3,
'objective': 'multi:softprob',
'num_class': 2}
steps = 20  # The number of training iterations
Но выполнение этого дает мне следующий результат:

Код: Выделить всё

model = xgb.train(param, dtrain, steps)
>XGBoostError: Check failed: labels_.Size() == num_row_ (405020 vs. 1) : Size of labels must equal to number of rows.
Когда я бегаю

Код: Выделить всё

dtrain.num_row()
>1
dtrain.num_col()
>405020
Возможно, это связано с ошибкой? Но я до сих пор понятия не имею, как такое могло произойти. Мои исходные переменные X и y имеют правильное количество строк и по одному столбцу каждая.

Подробнее здесь: https://stackoverflow.com/questions/627 ... er-of-rows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»