작업형2번에서 분류인지 회귀인지는 정확히 어떻게 구분하나요? 원핫 인코딩 할 때 아래 1~4까지 다 가능한 식일까요? c_train = pd.get_dummies(c_train[cols]) ---1 c_train[cols] = pd.get_dummies(c_train[cols]) ---2 c_train = pd.get_dummies(c_train) ----3 c_train[cols] = pd.get_dummies(c_train) ----4 <=50K -> 0, >50K -> 1 을 예측하는 문제에서 y = (y_train['income'] == '>50K').astype(int) 이거말고 원핫 인코딩이나 라벨인코딩을 할 수 있나요? 회귀 rmse 에서 np.exp() 해주는 이유가 뭔가요? roc_auc 평가지표 일때는 분류문제에서만 가능한가요? roc_auc 말고 확률을 구하는 평가지표는 없는걸까요? 결측치를 제거할 때, x_train,y_train,x_test 데이터 셋이 있을 경우 y_train에 대해서는 이상치, 결측치가 존재 하지 않는거죠? 그리고 y_train에는 피쳐엔지니어링은 진행안하는거죠? y_train은 정답 데이터기때문에 이상치나 결측치가 존재하지 않고 아무런 처리를 하지 않는다고 보면 될까요? 원핫인코딩을 할 때 전체 데이터 셋에 대해서 넣게 되면 pd.get_dummies(c_train) y_train 값은 뺀 뒤에 원핫인코딩을 진행해야 되는 건가요? x_train, x_test 에 대해서만 결측치, 이상치, 피쳐엔지니어링을 진행 한다고 보면 될까요? x_train,x_test 에 대해서 결측치가 존재할 때, 행 삭제를 하면 안되니까 절대 dropna를 사용하면 안된다고 생각하면 될까요? 대신 컬럼 삭제는 가능하지만, x_test의 target 컬럼만 제외하고 컬럼 삭제가 가능하다고 생각하면 되나요? (컬럼삭제를 잘 사용하지 않긴하지만 혹시나 궁금해서 여쭤봅니다 )
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 작업 3유형 다른 기출을 풀어보고 있는데 선회회귀 문제에서 import statsmodels.formula.api as ols model = ols('weight ~ age + Cholesterol', data=df).fit() model.summary 하였더니 TypeError: 'module' object is not callable 이런 오류가 나왔는데 어떤건지 알 수 있나요...?
회귀분석의 경우 ols 함수 사용시 자동으로 원핫 인코딩을 하기에 범주형변수를 C처리를 안해줍니다. 하지만 분산분석은 ols 사용시 독립변수가 범주형 변수이면 C처리를 해줘야하는데 이렇게 구분해서 사용하면 되는건가요? 같은 ols함수인데 회귀분석이냐 분산분석이냐에 따라 사용법이 조금 달라 헷갈려서 확인차 문의드립니다. 추가로, 시험환경예시 작업형 유형3 에서는 회귀분석에서 Logit 모형을 사용하는데 범주형 변수를 C처리 했는데 그냥 모두 범주형 변수는 C처리 해주는게 나을까요..?ㅠ
안녕하세요, 선생님. 수강생입니다.. 선생님 강의 여러번 반복해서 공부했는데 부디 이번에 꼭 합격하길.... ㅠㅠ 한가지 질문이 있어서 글 남깁니다.. 어찌보면 아주 기초적인 질문입니다. 작업형 1유형과 3유형은 제출하는 공간이 따로 있어서 헷갈리지 않는데요~ 작업형 2유형은 중간 중간 print로 값 체크하고 마지막에는 전부 주석 처리 하는 것까지 이해했습니다. 그렇다면 정말 최종적으로는 submit으로 to_csv('result.csv') 파일 제출까지 하고 제대로 제출했는지 한번 read_csv 해서 확인한 후에는 read_csv 프린트로 확인한 것도 주석 처리 필수인가요? 마지막은 to_csv('result') 로 코드가 끝나야 하는지 궁금합니다 ㅠㅠ
안녕하세요, 혹시 작업형2에서 과적합을 계산할 때, 검증데이터 분리 후-> 모델학습 후 -> 아래와 같은 코드로 계산하는 것이 맞을까요? 계속 train과 과적합이 심한데(train_f1= 0.9, test_f1= 0.7).. 실제 데이터셋을 줄 때는 과적합이 나진 않겠죠? #과적합 평가 # 훈련 세트에서의 예측 및 F1 Score 계산 train_pred = model.predict(x_tr) train_f1 = roc_auc_score(y_tr, train_pred) print("Training F1 Score:", train_f1) # 검증 세트에서의 예측 및 F1 Score 계산 val_pred = model.predict(x_val) val_f1 = roc_auc_score(y_val, val_pred) print("Validation F1 Score:", val_f1)
강의에서 코딩하셨던 민맥스스케일링 코드에서 범주형 수치형데이터 분리없이 바로 X_train[cols]로 써도되나요? ) 2,. 코딩 옆에 n_train[cols]=scaler.fit_transform[cols] 라고 적혀있었는데 여기서 왼쪽의 n_train[cols]를 n_train으로 바꿔적어도될까요? 안되면 그 이유가 궁금합니다
안녕하세요. 데이터를 불러오는 것 조차 못하던 제가 지금은 어느 정도 작업을 수행하고 있네요..ㅎ 갑사합니다!! 작업형 2번 concat에 관해 여쭙고 싶은게 있어서 질문드립니다. train,test (2개의 데이터가 주어진 경우 / train, test 컬럼에서 내용이 다를 때 인코딩) df=pd.concat([train, test],axis=0) 후 인코딩 하고 분리 : train=df[:train,shape[0]].copy() test=df[train,shape[0]:].copy() 이렇게 하는 것은 알고 있습니다. <질문>그러면 데이터가 3개(X_train, Y_train ,test)이렇게 주어진 경우 train=pd.concat([X_train, Y_train],axis=1)로 변경하고 작업을 계속 해도 무방한가요? 아니면 다시 분리를 해줘야 하나요? 또 분리를 해야한다면 코드도 궁금합니다! 또한, 위에 1번에서는 axis=0을 한게 컬럼이 동일 하기 때문에 행으로 합친것이고 2번에서 axis=1로 한 것은 옆에다(열 쪽으로) 합쳐야 하기 때문에 그런거겠죠?!
선생님 안녕하세요! 시험 전 막바지에 질문 드립니다! 그간 질문이 정말 많았음에도 추가 영상도 올려주시고 늘 자세히 알려주셔서 감사합니다!! 🙂 1.작업형2에서 범주형 컬럼의 카테고리수가 다른 경우 1. train데이터가 test데이터를 포함 2. test데이터가 train데이터를 포함 => 1번의 경우 레이블인코딩은 그냥 하면되고 2번의 경우 데이터 합친 후 원핫인코딩을 해야 하는것으로 배웠는데 만약 카테고리수가 많다면 카테고리 종류가 다를 것도 감안해서 다 찾아봐야 할까요?? 기출1 문제의 경우엔 우선 train데이터가 test데이터보다 카테고리 수가 더 많아서 1번의 경우라고 짐작하고 기본 레이블 인코딩으로 진행했습니다! 만약 카테고리 종류가 달랐는데 그냥 레이블인코딩을 했다면 에러편 강의에서 나왔듯 에러가 나오고, 그게 아니라면 그냥 진행해도 되는게 맞을까요?! 2.캐글 작업형3의 독립성 문제에서 합격 기대빈도를 계산할 때 - 남자의 총합 (100 + 200)과 합격자의 총합 (100 + 130)을 구합니다. - 이를 전체 합계(600)로 나눕니다. 라고 적어주셨는데 이거가지고 어떻게 풀어야할지 모르겠습니다..! 3.캐글 작업형3의 회귀문제에서 iris에서 Sepal Length와 Sepal Width의 상관계수 계산하고 소수 둘째자리까지 출력하시오 문제입니다. 두개의 상관계수를 구하기 위해서 df['Sepal Length'].corr(df['Sepal Width'])를 하려고 했는데 이렇게 하면 왜 에러가 날까요?? 4.작업형2를 풀 때 max_depth=5, n_estimators=1000 이런식으로 이 두 파라미터 차이?가 커도 괜찮을까요? 예측해봤을 때 이 숫자가 가장 성능이 좋게되어서 사용하긴 했는데 오버핏될까 하여 여쭤봅니다! 이들보다 숫자를 더 키웠을 때 오히려 성능이 떨어지는 것을 보고 저 숫자에서 멈췄습니다!
안녕하세요, 작업형2 관련 질문드립니다. 시간이 부족해서 train_test_split은 생략, 랜덤포레스트만 사용하려고합니다! ㅜ 문제에 roc_auc 가 나오면 분류, predict_proba로 예측, 나머지는(회귀,분류 모두) 다 pred로 예측 으로 이해했는데 맞을까요? 검증데이터 분류 없이 진행할 때, 아래와 같이 넣으려고 합니다. 맞는지 확인 부탁드립니다 :) target = train.pop('타겟 컬럼명') 진행 후, 데이터 전처리 시, 스케일링을 진행하지 않는다면 오류가 생기는 경우도 있을까요? 문제 없다면 object컬럼 drop, 결측치 처리만 진행하려 합니다! 짧은 시간에 강의로 많은 도움 얻었습니다! 답변도 미리 감사드립니다 !!
안녕하세요! 만점 코드 공유해주신것 공부하고있는데요, n_train, n_test (수치형) / o_train, o_test (object형) 이렇게 파일을 분할해서 스케일링과 인코딩을 하시더라구요. 파일을 나누는 이유가 특별히 있으실까요? 파일을 나누지 않고 그냥 train 파일 하나로 한다고 해도, 스케일러에서도 train[cols]를 통해 수치형 컬럼들만 넣어주고, 원핫인코딩에서도 get_dummies(df, columns = 명목형 컬럼들) 이렇게 넣어주게 되어서 파일 나누지 않아도 큰 영향은 없지 않을까 싶은데 혹시 제가 모르는게 있는지 궁금합니다. 파일 나누고 합치는데 시간이 좀 걸려서 혹시 시간이 걸려도 파일을 꼭 나누어야하는이유가 궁금하네요~ 감사합니다!
캐글 T2-3번 문제에서 중간에 target값을 왜 변경 해줘야 하는지 모르겠습니다. 그리고 target값을 변경해줘야하는 또 다른 경우는 어떤 것들이 있을까요? # target값 변경 y = (y_train['income'] != '<=50K').astype(int) y[:5]
저는 이렇게 풀었는데 답이 틀리더라구요 여기서 묻는 답이 이상치의 합이라고 하면 위와 같이 풀고 선생님 강의 내용 처럼 'age' 컬럼의 합이라고 하면 선생님 처럼 푸는 건거죠 ? 문장을 잘 눈여겨 봐야 겠습니다. ㅠㅠ 그리고 선생님께서 cond 에 괄호를 해주셨는데요 이유는 뭘까요 ? 가로를 안 하고 해도 값은 같더라구요.