작업형3 범주형 변수 관련 질문
선생님 안녕하세요!작업형3 로지스틱 회귀모형을 진행할 때범주형 데이터는 C()로 묶어서 하라고 말씀해주셨는데, 강의에서 만약 범주형 데이터인지 헷갈린다면 모두 C()로 묶어서 하라고 하셨던 것으로 기억하는데그렇게하면 에러가 뜨는데 왜일까요??# 2.
# 로지스틱 회귀모형
from statsmodels.formula.api import logit
# model = logit('Survived ~ C(Gender) + C(SibSp) + C(Parch) + C(Fare)', data=df).fit() --> error
# print(df.head())
model = logit('Survived ~ C(Gender) + SibSp + Parch + Fare', data=df).fit()
print(model.summary())
# print(model.params['Parch'])
# 답 : -0.201Warning: Maximum number of iterations has been exceeded.
Current function value: inf
Iterations: 35
Makefile:6: recipe for target 'py3_run' failed
make: *** [py3_run] Error 1
/usr/local/lib/python3.9/dist-packages/statsmodels/discrete/discrete_model.py:1819: RuntimeWarning: overflow encountered in exp
return 1/(1+np.exp(-X))
/usr/local/lib/python3.9/dist-packages/statsmodels/discrete/discrete_model.py:1872: RuntimeWarning: divide by zero encountered in log
return np.sum(np.log(self.cdf(q*np.dot(X,params))))
Traceback (most recent call last):
File "/goorm/Main.out", line 26, in <module>
model = logit('Survived ~ C(Gender) + C(SibSp) + C(Parch) + C(Fare)', data=df).fit()
File "/usr/local/lib/python3.9/dist-packages/statsmodels/discrete/discrete_model.py", line 1983, in fit
bnryfit = super().fit(start_params=start_params,
File "/usr/local/lib/python3.9/dist-packages/statsmodels/discrete/discrete_model.py", line 230, in fit
mlefit = super().fit(start_params=start_params,
File "/usr/local/lib/python3.9/dist-packages/statsmodels/base/model.py", line 579, in fit
Hinv = np.linalg.inv(-retvals['Hessian']) / nobs
File "<__array_function__ internals>", line 5, in inv
File "/usr/local/lib/python3.9/dist-packages/numpy/linalg/linalg.py", line 545, in inv
ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)
File "/usr/local/lib/python3.9/dist-packages/numpy/linalg/linalg.py", line 88, in _raise_linalgerror_singular
raise LinAlgError("Singular matrix")
numpy.linalg.LinAlgError: Singular matrix
답변 2
1
추가 답변으로, C로 묶는 것은 분산분석에서 말씀해주셨습니다!
1
혹시 분산 분석과 헷갈린 것이 아닐까요?
제가 설마 로지스틱회귀에서 "만약 범주형 데이터인지 헷갈린다면 모두 C()로 묶어서 하라고" 이런 말을 했나요? 이건 심각한 문제가 있어요!
회귀 분석과 로지스틱 회귀에는 범주형과 수치형이 있어요!! 절대로 다 묶으면 안됩니다.
C()로 묶는 것은 문제에서 명시되어 있거나 누구나 이해할 수 있는 상식선에서 범주형이 아닌 애매한 것이면 묶으면 안됩니다.
0
앗 C로 묶는것은 분산분석에서 말씀해주신게 맞아요 그런데 앞에서부터 복습하면서 헷갈려 여쭤보게됐습니다!
그런데 아직 헷갈리는 부분은,
로지스틱 회귀에선 그럼 독립변수가 type이 object인 경우에만 C로 묶으면 될까요?
회귀분석에서는 범주형도 C로 묶지 않으시고 하셨는데 그럼 C로 묶지 않고 하면 되는것 맞을까요?
일원분산에서는 범주형도 C로 안묶으셨는데, 일원,이원분산분석 모두 헷갈리지 않게 독립변수들은 C로 묶으면 될까요?
강의 연장 관련하여 문의드립니다.
0
15
1
섹션7 자료 다운로드
0
13
1
작업형 1 연습문제 Section12
0
14
1
수강기간 연장 문의
0
26
1
안녕하세요, 혹시 수강기간 연장이 가능할까요?
0
27
2
판다스 강의자료는 어디서 받을 수 있나요?
0
26
2
작업형2 모의고사3 자료 업데이트 요청
0
33
4
수강 연장가능여부 문의드립니다!
0
38
2
수강기간 연장 문의드립니다!
0
35
2
최빈값
0
32
2
수강 가이드라인
0
29
2
수강 연장 가능 여부 문의
0
55
2
강의 구매했는데 교재 필수일까요
0
43
2
수강기간 연장 가부 문의드립니다.
0
40
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
42
2
작업형2 모의문제2에서 drop이랑 인코딩
0
51
3
인코딩을 다 꼭 해봐야하는지
0
51
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
62
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
51
2
수강기간 연장
0
72
2
29강 작업2형의 이상치 처리
0
70
2
수강기간 연장 문의드립니다!
0
66
2
9월에 실기출제기준 개정내역에 신설된부분
0
56
1





