Ошибка, кажется, здесь:
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,)
или целевое значение для каждого наблюдения тренировочного набора.