Не понимаю этого AttributeError с обратной матрицей - PullRequest
0 голосов
/ 11 октября 2018

Я пишу небольшую программу о линейной регрессии.Однако есть ошибка, которую я не могу найти почему.Программа ниже:

from sklearn.datasets import load_svmlight_file
from sklearn.model_selection import train_test_split
import numpy as np
X, Y = load_svmlight_file(r"C:\Users\asus\Desktop\data.txt")
trainx,testx=train_test_split(X,shuffle=False)
trainy,testy=train_test_split(Y,shuffle=False)
traverse_trainx=trainx.T
#闭式解
temp1=(traverse_trainx*trainx).I
temp1.I

И ошибка:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-130-92af132d9e41> in <module>()
      8 traverse_trainx=trainx.T
      9 #闭式解
---> 10 temp1=(traverse_trainx*trainx).I
     11 temp1.I
     12 

G:\anaconda\lib\site-packages\scipy\sparse\base.py in __getattr__(self, attr)
    684             return self.getnnz()
    685         else:
--> 686             raise AttributeError(attr + " not found")
    687 
    688     def transpose(self, axes=None, copy=False):

AttributeError: I not found

1 Ответ

0 голосов
/ 11 октября 2018

Если вы хотите найти обратную матрицу, вам нужно использовать такую ​​функцию, как numpy.linalg.inv или scipy.linalg.pinv2 .

Ошибка, которую вы получаете, заключается в том, что в вашем массиве нет атрибута .I.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...