Ваш feature_y заканчивается массивом numpy списков, но вам нужен только массив с плавающей точкой, попробуйте поработать с:
features_y = np.array([x[:,2].mean() for x in np.array_split(train_array, 100)])
Кроме того, обратите внимание на метод изменения формы.
features_y = np.array([[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]])
features_y.reshape(-1, 1)
Выходы:
array([[1],[1],[1], ...])
Но изменение формы x:
features_x = np.array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
features_x.reshape(-1, 1)
Выходы:
array([[1],[1],[1],...])
Вы не хотите изменять свою функцию_x предоставленная структура правильная.