안녕하세요! 작업형 3번중 종속변수 말고 범주형 변수에는 C() 를 다 붙여도 된다고 하셨는데 수강생 작성 model = logit("Survived~ C(Gender) + C(SibSp) + C(Parch) + C(Fare)", data=df).fit() print(model.summary()) 로 작성하게 되면 에러가 발생 합니다! 혹시 이유를 알 수 있을까요? 에러는 참고로 남기겠습니다! > Warning: 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.12/site-packages/statsmodels/discrete/discrete_ model.py:2385 : RuntimeWarning: overflow encountered in exp return 1/(1+np.exp(-X)) /usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py:2443 : RuntimeWarning: divide by zero encountered in log return np.sum(np.log(self.cdf(q * linpred))) Traceback (most recent call last): File "/goorm/Main.out", line 23, in <module> model = logit("Survived ~ C(Gender) + C(SibSp) + C(Parch) + C(Fare)", data=df).fit() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py ", line 2601, in fit bnryfit = super().fit(start_params=start_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/statsmodels/discrete/discrete_ model.py ", line 243, in fit mlefit = super().fit(start_params=start_params, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/statsmodels/base/ model.py ", line 582, in fit Hinv = np.linalg.inv(-retvals['Hessian']) / nobs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/numpy/linalg/ linalg.py ", line 561, in inv ainv = umath linalg.inv(a, signature=signature, extobj=extobj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/numpy/linalg/ linalg.py ", line 112, in raise linalgerror_singular raise LinAlgError("Singular matrix") numpy.linalg.LinAlgError: Singular matrix 강사님 작성 model = logit("Survived ~ C(Gender) + SibSp + Parch + Fare", data=df).fit() print(model.summary()) 에러없음
안녕하세요? 1번 : statsmodels.api.stats 에서의 anova_lm 2번 statsmodels.stats.anova에서의 anova_lm 이 두개는 다른건지요? 일원분산분석을 할때는 2번으로,, 이원분산분석은 1번으로 되어 있어서요.. 차이가 있는건지요?
작업형2를 풀때, 라벨인코더를 해서 풀고 마지막에 오류로, Train에서는 라벨인코더가 되었는데.. Test데이터에서는 라벨인코더가 되지 않음을 확인하였습니다. gpt는 이 이유가, train간 test데이터 사이에 항목이 달랐기 떄문에 이런 오류가 났다고 설명하는데...(예를 들어 train에 라벨인코더한 항목이 A.B.C로 되어있다면 test데이터는 A,B,C,D로 되어있어 나는 오류) 그럼 라벨인코더를 쓸때는 꼭, train, test간 데이터 종류/갯수가 같은것을 확인하고 쓸 수 밖에 없는건가요..?? 이런경우 그냥 더미변수처리를 해야하는걸까요?ㅠㅠ
여기서 concat을 사용하는 이유가 X_train과 y_train을 df로 합치기 위해서인데, labelencoding은 왜 X_train으로 진행하신건가요? X_train.select_dtypes(include = 'object') 가 아닌 df.select_dtypes(include = 'object') 가 아닌짛 해서요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 테스트가 정상적으로 실행되었으며 @Rollback 어노테이션을 붙였음에도 불구하고 왜 데이터가 insert 되지 않는지 궁금합니다. 관련 사진은 다음과 같습니다. 코드는 다음과 같습니다. package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.junit.jupiter.api.Assertions.*; @RunWith(SpringRunner.class) @SpringBootTest class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() throws Exception { // given Member member = new Member(); member.setUsername("memberA"); // when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); // then Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } } spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: update properties: hibernate: #show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug #org.hibernate.type: trace 감사합니다.
다중회귀모델을 학습할 때 독립변수에 포함된 범주형변수를 인코딩 안 하고 학습했을 때의 결정계수값과 인코딩 했을 때의 결정계수 값이 다르게 나오는데, 이런 경우 인코딩을 하고 계산하는 게 맞는건가요? 전자는 자동으로 처리가 된 것 같은데 시험에서는 어떤걸 정답으로 쳐주는지 궁금합니다!
시나공 빅분기 교재관련 문의 p.177 25번 문제에서 시간간격이 1일 이하인 사용자를 제외하고 계산하라고 했는데 cond1 = time_interval > 0 로 되어 있는데 cond1 = time_interval > 1 이 되어야 하는게 맞지 않을까요?? 혹시 " > 0 " 으로 풀이한 이유가 있을까요?? ps. 교재관련 정오표를 찾고 있는데 어디서 찾을 수 있을까요??
문제8, 문제9 풀이에서 numeric_only=True 옵션에 대해서 궁금해서 질문해요 문제 8번 풀이에서df =df.groupby(['city','f2']).sum(numeric_only=True).reset_index() df =df.groupby(['city','f2']).sum(numeric_only=True).reset_index() 에서는 컬럼 'city' 와 'f2' 컬럼이 수치형 자료라 numeric_only=True 를 설정해야 하는 건가요!? 문제 9번 풀이에서 groupby 로 월 별 데이터 개수를 구할 때는 count(numeric_only=True) 로 설정하면 오류나는 이유는 뭔가용..??? month 가 숫자형이어서 그런가요 아니면 count 가 설정할 필요가 없어서인가요 ? ㅠ.ㅠ numeric_only=True 를 어느 때 써야하고 안 써야하는지 구분하는게 정확히 어떤 기준인지 궁금합니다
#train['환불금액']=train['환불금액'].drop #test['환불금액']=test['환불금액'].drop train=pd.get_dummies(train) test=pd.get_dummies(test) target=train.pop('성별') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train,target,test_size=0.2,random_state=0) from sklearn.ensemble import RandomForestClassifier model=RandomForestClassifier(random_state=0) model.fit (X_tr,y_tr) pred=model.predict(test) submit=pd.DataFrame({'pred':pred}) submit.to _csv('result.csv',index=False) a= pd.read _csv('result.csv') print(a.head()) 위와 같이 한가지방법으로 풀기와 동일하게 진행하였는데 model.fit (X_tr,y_tr) 에서 오류가 납니다. 결측치가 있는 '환불금액'열을 삭제해도 동일한데 한가지방법으로 푸는 코드에 오류나 잘못된 부분이 있을가요?.