Python notes/Python Errors

Python Errors) LinAlgError: Singular matrix 에러 해결

성실한 나무 2022. 9. 16. 11:34

#1. statsmodels로 Logistic regression을 적합하는 중에 만난 에러이다.

LinAlgError: Singular matrix

 LinAlgError는 뭔가 축약어 같은데 뭔지 모르겠지만, 그 뒤에 있는 Singular matrix는 찾아보니 특이행렬이라고 한다. 역행렬이 없는 행렬을 특이행렬이라고 했다. 내가 Logit 적합을 위해 입력한 X 데이터들 중에 특이행렬이 포함된 모양이다.

 특이행렬에 대해서 조금 더 찾아보니 데이터 값이 0으로만 구성된 행렬을 말하는 것 같다. 과연, X 데이터들을 살펴보니 몇몇 feature들이 0으로만 구성되어 있었다.

LinAlgError: Singular matrix

 

#2. 문제 해결!

 데이터 사이즈를 좀 더 키워서 0과 1의 클래스가 있도록 특이행렬 feature들의 데이터를 조정하고 다시 Logit 적합을 진행했다. 그러자 다행히 적합 결과가 출력되었다.