LinearRegression.fit() 매서드는 인자로 2차원 배열이나 DataFrame을 요구한다.
LinearRegression.coef 그리고 LinearRegression.intercept
coef_
매서드는 왜 다차원 배열(ndarray)를 반환하는가?
- 'coef_' 속성은 모델의 가중치w를 저장한다.
- LinearRegression 모델은 다중선형회귀 분석을 지원하기 때문에, coef_속성은 여러개의 입력 특성에 따른 여러개의 출력 특성을 분석하기 위해서 다차원 배열을 반환한다.
intercept_
는 왜 1차원 배열(ndarray)로 반환되는가?
- intercept_ 속성은 절편(bias)를 저장하는데, 절편은 각 출력 특성에 대해 하나씩 존재하기 때문에 1차원 배열로 반환된다.
- 절편은 출력 특성의 개수만큼 존재하기 되기에 다중선형회귀는 n개의 출력 변수가 있을 수 있지만, 단순선형회귀의 경우 1차원 배열에 하나의 값만 저장된다.
정리
- modellr2.coef: 여러 개의 입력 변수와 출력 변수를 지원하기 위해 2차원 배열로 반환됩니다. 그래서 첫 번째 입력 변수에 대한 계수를 가져오기 위해서는 modellr2.coef[0][0]처럼 인덱싱을 해야 합니다.
- modellr2.intercept: 단일 출력 변수에 대한 절편을 지원하기 위해 1차원 배열로 반환되며, modellr2.intercept[0]으로 접근합니다.