안녕하세요. 데이터 전처리 단계에서 target = train.pop('target') 타겟 처리하는 방법과 검증 데이터 분리 단계에서 이렇게 하는 방법 중에 어떤방법을 선택하던 결과에 영향이 없나요? 그리고 데이터 전처리 시에 target분리할 경우에 target 데이터가 수치형이나 범주형 상관 없이 데이터 전처리 전에 분리하면 되는건지요?
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 강의에서 테스트 given절에서 팩토리 메서드를 통한 객체 생성은 어떠한 의도가 들어갈 수 있으므로 지양하라고 하셨습니다. 관련하여 질문이 있습니다. 예를 들어 다음과 같은 팩토리 메서드가 있다고 하면, public class Coffee { private String type; private int size; public Coffee(String type, int size) { this.type = type; this.size = size; } } public class SeasonalCoffeeFactory { public static Coffee createCoffee(String season) { switch (season.toLowerCase()) { case "summer": return new Coffee("Iced Coffee", 50); case "winter": return new Coffee("Hot Coffee", 30); case "spring": return new Coffee("Latte", 40); case "fall": return new Coffee("Pumpkin Spice Latte", 45); default: throw new IllegalArgumentException("Unknown season: " + season); } } } 여름 시즌 커피에 대한 테스트 코드는 다음과 같을 겁니다. @Test public void testCreateSummerCoffee() { Coffee coffee = SeasonalCoffeeFactory.createCoffee("summer"); assertEquals("Iced Coffee", coffee.getType()); assertEquals(50, coffee.getSize()); } 이때 테스트 코드는 시즌에 맞는 커피 메뉴를 given절에 생성한 후 타입 일치여부만 판단하면 됩니다. 하지만 이 부분을 팩토리 메서드로 작성하지 않게되면 커피를 생성함에 있어 if ("summer".equalsIgnoreCase(season)) { coffee = new Coffee("Iced Coffee", 50); } else if... 와 같은 부분이 테스트 코드의 given절에 들어가야하지 않나 싶습니다. 물론 이런 부분에 대해서 if라는 논리구조가 들어갔으니 한번 더 테스트 코드 메서드가 분리되어야하는건가 싶기도 한데 확신이 잘 안 서서 질문 드리고 싶습니다. 긴 글 읽어주셔서 감사합니다.
if timeMin is not None: if isinstance(timeMin, str): timeMin = datetime.strptime(timeMin, "%Y-%m-%d") timeMin -= timedelta(hours=9) url += f"&timeMin={timeMin.isoformat("T")}Z" 마지막 줄을 실행하면 원래 쌍따옴표 내 쌍따옴표라서 오류가 떠야 하는데, 영상에서는 오류가 없습니다. 반면 제 환경에서는 예상대로 오류가 발생했고, 혹시 몰라 강사님 코드 원본을 실행해 봐도 같은 오류가 발생했습니다. 오류 해결법이 아니라, 왜 영상에서는 해당 오류가 발생하지 않는지 궁금합니다!
강의에 알려주신대로 따라서 하고 있는데 원핫인코딩 결과에 income category랑 card category만 뜨고 나머지 object컬럼(gender 등)은 뜨질 않습니다.. 뭐가 문제인지 알려주실 수 있을까요? #baseline(object컬럼 제거) cols = train.select_dtypes(include='object').columns # print(train.shape, test.shape) # train = train.drop(cols, axis=1) # test = test.drop(cols,axis=1) # print(train.shape, test.shape) # 라벨인코딩 # from sklearn.preprocessing import LabelEncoder # for col in cols: # le = LabelEncoder() # train[col] = le.fit_transform(train[col]) # test[col] = le.transform(test[col]) # train.head() # onehot 인코딩 pd.get_dummies(train, columns=cols) 마지막에 8101 rows × 39 columns 라고 뜨는데 그냥 표시만 안 된건가요?
데코레이터 수업을 듣고 있는데요. @login_required 를 사용하면 비로그인시 로그인페이지로 로그인시 next가 hello_world로 지정되어 hello_world로 가게되는데요. login_required 데코레이터를 보면 redirect_field_name login_url 두 값을 받고 있던데, 이 두 값이 로그인 성공시/비로그인시 가게되는 방향을 명시하는거 같은데, 아무것도 명시안했을때 어디를 바라보는지에 대한 설정은 무엇을 참조하는것인가요??
안녕하세요. 강의를 듣고 혼자 프로젝트 해보고있는데 왜인지 원인을 모르겠는 오류가 생겨서 여쭤봅니다. 프로젝트를 uvicorn main:app --reload 명령어로 실행하면 무수히많은 에러 스택과 함께 아래와 같은 에러가 발생하는데요. pydantic.errors.PydanticUndefinedAnnotation: name 'Optional' is not defined Pydantic에서 에러가 나는 것 같은데, 저는 Optional을 사용하지 않고, None으로 사용하고 있는데 있는데 왜 이러는걸까요?
안녕하세요 강사님. 요즘 질문을 많이해서 대단히 죄송하게 생각하고 있습니다! 우선 질문 계기를 들어보시죠. [질문을 하게 된 이유] 처음에 최소한으로 돌아가는 쓰레기 코드를 만들었고, 리팩토링으로 객체를 쪼개며 단위 테스트를 작성하고 있었습니다. 근데 갑자기 이런 고민이 들더군요. "TDD 를 적용하려면 어떻게 해야하지?" 하지만 아무리 생각을 해봐도 TDD 를 적용하려면 "쓰레기를 만들고, 여러 객체들로 쪼개 개선 해나가는" 형태의 개발방식에은 사용할 수 없다는 결론에 도달하게 되었습니다. 애초에 TDD 를 적용하려면 "처음부터 구현하려는 기능에 필요한 객체들을 생각하고 만들어나가야 하는건가?" 아니 이러면 너무 피곤하지 않나? 라는 생각이 들었습니다. [본격적인 질문] [질문 1] 처음부터 돌아가는 쓰레기 코드(하나의 클래스에 몰빵) 를 만들고, 리팩토링을 통해 여러 객체로 책임을 분산시키는 형태의 개발 방식은 애초에 TDD 를 적용할 수 없는 것인가요? (TDD 를 적용하면 애초에 스파게티 코드가 나올 수 없는건가요?) [질문 2] TDD 가 애초에 구현하려는 기능에 필요한 객체들을 처음부터 설계하고 들어가는 방식인건가요? [질문 3] TDD 를 적용하려면 구현하는 기능에 필요한 도메인 지식들을 완벽하게 숙지하고 들어가야 코드를 수정하는 일이 별로 없을거라고 생각됩니다. 그렇지 않으면 "일단 쓰레기 구현 -> 리팩토링 -> 테스트" 개발 방식보다 시간이 훨씬 오래 걸릴거라고 생각하는데.. 강사님 생각은 어떠신지 궁금합니다. [질문 4] TDD 를 적용하면 코드 품질이 좋을 수 밖에 없는 이유가 [질문 2] 때문인가요? (한국말 너무 어렵습니다..)
Cannot install -r requirements.txt (line 5) and requests==2.28.2 because these package versions have conflicting dependencies. 에러가 발생합니다. github 저장소의 requirements.txt를 확인해 주시면 감사드리겠습니다. 2.26.0 버전 설치도 문제가 되네요. poetry로 변경하는데도 의존성 문제는 해결이 안되고 에러가 여전히 발생합니다. 파이썬 버전이 3.12인데 혹시 파이썬 버전이 문제가 될까요? 파이썬 버전이 현재 3.13이 나왔는데.. 아임포트의 해당 패키지는 2021이 마지막 업데이트였고 이후 업데이트가 없는데... 계속 업데이트되는 django와 python 버전이 문제가 될 수 있는건지도 걱정이 되네요.. 개별로 하나씩 패키지를 설치하면 requests가 설치되는것 같네요.. 그런데 requirements.txt를 pip으로 설치하면 호환성 에러가 그대로 발생합니다. 물론 poetry로는 개별 설치가 안됩니다. 정말 이상하네요. 혹시 문제가 무엇인지 확인을 하시게 되면 말씀 남겨 주시면 감사드리겠습니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 소수점 나이를 제거할 때 cond = df['age'] == round(df['age'],0) 이 코드로 반올림한 값과 age가 같은 것을 조건으로 걸었는데요 소수점 자리0.5미만인 애들은 제거가 안되지 않았을가요? 예시:32 와 32.3 반올림한 값을 비교해도 같다고 나옴