Я пытаюсь установить линейную регрессию Ax = b
где A
является разреженной матрицей и b
редким вектором. Я пробовал scipy.sparse.linalg.lsqr
, но, видимо, b
должен быть массивным (плотным) массивом. Действительно, если я бегуредкая регрессия наименьших квадратов
A = [list(range(0,10)) for i in range(0,15)]
A = scipy.sparse.coo_matrix(A)
b = list(range(0,15))
b = scipy.sparse.coo_matrix(b)
scipy.sparse.linalg.lsqr(A,b)
Я в конечном итоге с:
AttributeError: squeeze not found
Хотя
scipy.sparse.linalg.lsqr(A,b.toarray())
, кажется, работает.
К сожалению, в моем случае b представляет собой вектор 1,5 миллиарда x 1, и я просто не могу использовать плотный массив. Кто-нибудь знает обходной путь или другие библиотеки для выполнения линейной регрессии с разреженной матрицей и вектором?
Спасибо за это. В самом деле, мне может понадобиться что-то итеративное, так как терминал через некоторое время убил процесс. –