Python ValueError, но формы совпадают - PullRequest
0 голосов
/ 08 октября 2019

Я получаю ошибку значения, но форма моих входных переменных выглядит так, как будто они совпадают. Вот ошибка:

ValueError: Found input variables with inconsistent numbers of samples: [644170, 14]

Вот мой код:

# 10-K Folds
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score

kfold = KFold(n_splits=10, random_state=1)
results = cross_val_score(estimator = grid.best_estimator_, X = X, y = y, cv = kfold, scoring = 'f1_macro') # https://scikit-learn.org/0.17/modules/generated/sklearn.cross_validation.cross_val_score.html
results # Array of scores of the estimator for each run of the cross validation.

Вот формы:

X.shape
(644170, 14)

y.shape
(14,)

Есть14 в обеих формах.

1 Ответ

2 голосов
/ 08 октября 2019

Ошибка, кажется, здесь:

X.shape
# (644170, 14)

y.shape
# (14)

У вас есть 644170 наблюдений (с 14 функциями) в обучающем наборе, и в качестве цели у вас есть только 14 значений ... у вас должно быть 644170целевые значения для перекрестной проверки.

Чтобы прояснить идеи, взгляните на этот классический пример, основанный на наборе данных iris, который вы найдете в документации sklearn :

from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_score
diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
lasso = linear_model.Lasso()
cross_val_score(lasso, X, y, cv=3)

и размеры X и y:

X.shape
# (150, 10)

y.shape

# (150,)

или целевое значение для каждого наблюдения тренировочного набора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...