작업형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) 에서 오류가 납니다. 결측치가 있는 '환불금액'열을 삭제해도 동일한데 한가지방법으로 푸는 코드에 오류나 잘못된 부분이 있을가요?.
한글 자동화 관련해서 공부할 강의 분량이 너무 많아서 완강은 아직 엄두도 안나고, 그냥 쭉 한 번씩 구경(?)하던 중이었는데요. 13-2. 녹화된 스크립트매크로를 파이썬에서 활용하는 방법 이 강의에서는 내용이 전혀 뜨지 않네요. (아래 캡처) 제 컴퓨터 환경에 문제가 있는 것일까요?
안녕하세요, 강의와 교재로 공부하고 있습니다. 교재 작업형2 ch4 회귀 부분에서 트레인 테스트 데이터를 합친 후 범주형 데이터를 레이블 인코딩 한 후 다시 트레인 테스트로 쪼개고 결측치를 채우는 최솟값, 최빈값으로 채우는 과정으로 진행이 되는데요, 레이블 인코딩 과정에서 범주형데이터의 결측치가 하나의 값으로 인코딩이 되어서 결측치가 존재하지 않아 중앙값으로 결측치를 대체하는 과정이 불필요한 것 같은데 맞을까요? 또한 원핫 인코딩을 사용하려는 경우 결측치를 먼저 대체한 후에 인코딩을 해야 오류가 안나는게 맞을까요? 일반적으로 결측치 처리를 인코딩 후에 하는지 전에 하는지 궁금합니다. 감사합니다.