Просто пытаюсь выполнить простую линейную регрессию, но эта ошибка меня сбивает с толку:
regr = LinearRegression()
regr.fit(df2.iloc[1:1000, 5].values, df2.iloc[1:1000, 2].values)
который производит:
ValueError: Found arrays with inconsistent numbers of samples: [ 1 999]
Эти выборки должны иметь одинаковые размеры, и они должны быть многочисленными массивами, так что мне не хватает?
scikit-learn
солнечно
источник
источник
Похоже, вы используете фрейм данных pandas (от имени df2).
Вы также можете сделать следующее:
ПРИМЕЧАНИЕ. Я удалил «значения», так как это преобразовывает серию панд в numpy.ndarray, а numpy.ndarray не имеет атрибута to_frame ().
источник
Из курса Udacity Deep Learning Foundation:
источник
Я думаю, что аргумент "X" regr.fit должен быть матрицей, поэтому следующее должно работать.
источник
Я столкнулся с этой ошибкой, потому что преобразовал свои данные в формат
np.array
. Я решил проблему,np.matrix
вместо этого преобразовав свои данные в формат и применив транспонирование.ValueError:
regr.fit(np.array(x_list), np.array(y_list))
Верный:
regr.fit(np.transpose(np.matrix(x_list)), np.transpose(np.matrix(y_list)))
источник
Попробуйте поместить свои функции в такой кортеж:
источник
Столкнулся с похожей проблемой. В моем случае проблема заключалась в том, что количество строк в X не было равно количеству строк в y.
то есть количество записей в столбцах функций не было равно количеству записей в целевой переменной, так как я удалил несколько строк из столбцов объектов.
источник
Для анализа двух массивов (array1 и array2) они должны соответствовать следующим двум требованиям:
1) Они должны быть numpy.ndarray
Проверить с
Если это не так, хотя бы один из них выполняет
2) Размеры должны быть следующими:
N - количество элементов в массиве. Чтобы предоставить array1 правильное количество осей, выполните:
источник
Как упоминалось выше, аргумент X должен быть матрицей или массивом numpy с известными размерами. Так что вы, вероятно, могли бы использовать это:
Таким образом, ваш фрейм данных будет преобразован в массив с известными размерами, и вам не нужно будет его изменять.
источник
Несколько дней я столкнулся с той же проблемой. Причина заключалась в разных размерах массивов.
источник
во время тестового сплита на поезде вы могли сделать ошибку
Приведенный выше код правильный
Возможно, вы поступили так, как показано ниже, что неверно
источник