Я пытаюсь запустить регрессию в Python.У меня есть список списков (часть большего списка), который выглядит примерно так:
[[1307622004, 0.0, 339.093, 130.132],
[10562004, 0.0, 206.818, 62.111],
[127882004, 0.0, 994.624, 360.497],
[63702004, 0.0, 89.653, 19.103],
[655902004, 0.0, 199.613, 83.296],
[76482004, 0.0, 1891.0, 508.0],
[16332004, 0.0, 160.344, 25.446],
[294352004, 0.0, 67.115, 22.646],
[615922004, 0.0, 134.501, 41.01],
[1212572004, 0.0, 232.616, 5.086],
[658992004, 0.0, 189.155, 7.906],
[61962004, 0.0, 806.7, 164.1],
[121712004, 0.0, 1147.532, 271.014],
[1250142004, 0.0, 29.556, -5.721],
[148082004, 0.0, 22.05, -17.655]]
Это выглядит так, потому что каждая строка представляет собой строку из файла CSV, из которого я импортирую данные.С этого момента, пожалуйста, посмотрите на элементы в списке как столбцы переменных, чтобы лучше понять, что я пытаюсь регрессировать.Например, первые 4 списка из списка выглядели бы примерно так, чтобы они превратились в столбцы (мне не нужны переменные, превращенные в столбцы, я сделал это в целях иллюстрации):
1307622004 0.0 339.093 130.132
10562004 0.0 206.818 62.111
127882004 0.0 994.624 360.497
Чтобы продолжитьНапример, я хочу, чтобы первый столбец был моей зависимой переменной, а все остальные столбцы были независимыми переменными.Я пытался использовать Numpy, чтобы преобразовать список в массив, а затем применить регрессию sklearn.Ниже приведен фрагмент кода:
Важно отметить: list_of_lists содержит много элементов, похожих на список, который я предоставил в начале вопроса.
from sklearn import datasets ## imports datasets from scikit-learn
from sklearn.linear_model import LinearRegression
import numpy as np
for item in list_of_lists:
test_array = np.asarray(item)
# print(test_array)
X, Y = test_array[:, 0], test_array[:, 1]
mdl = LinearRegression().fit(X, Y)
scores = LinearRegression.score(X, Y)
print('--------------------------')
Проблема в том, что я получаю следующий вывод:
Измените ваши данные либо с помощью array.reshape (-1, 1), если ваши данные имеют одну функцию илиarray.reshape (1, -1), если он содержит одну выборку.
Я новичок в python и использую массивы, матрицы в python, поэтому я не совсем понимаю, что происходит,