예시문제 작업형2(신 버전) 제출csv 팡리 형식 예시를 보면 pred컬럼에 0또는 1이 있는데 1(남자)일 확률 (0.xx)로 제출하는 것이 헷갈립니다... 정확하게 확률로 구하는거였으면 형식 예시를 다르게 보여줘야하는게 아닌가해서요 문제가 정확하지않는건지 아니면 roc-auc 문제는 '양수'를 택했을 때 확률을 구하는건지 알려주세요~
선생님 안녕하세요! 적합도 검정 강의에서, [문제] 지난 3년간 빅데이터 분석기사 점수 분포가 60점 미만: 50%, 60-70점 35%, 80점이상 15%로였다. 이번 회차부터 단답형을 제외하고, 작업형3을 추가하여 300명을 대상으로 적용한 결과 60점 미만: 150명, 60-70점: 120명, 80점이상: 30명이었다. 이 문제에서 #관찰 ob = [150, 120, 30] #기대 ex = [0.5*300, 0.35*300, 0.15*300] from scipy import stats stats.chisquare(ob,ex) 코드를 이렇게 작성하셨는데요. 캐글 T3-Chisquare에서 해당 문제를 같은 코드로 하려니.. 오류가 납니다ㅠ 에러메시지는 다음처럼 나오는데.. 혹시 인강과 캐글은 어떤 차이가 있는걸까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 강의에서는 원핫 인코딩 후 분류 예측모델을 만들었는데, 저는 결측치, 이상치가 없어 전처리는 따로 진행하지않고 수치형- MinMax 스케일링 범주형- 라벨 인코딩 두가지 피처엔지니어링 진행한 후 바로 랜덤포레스트 모델 만들고 학습 및 예측 하여 제출해도 무방한가요? 검증 데이터로 나누는 작업(f1-score) 이것도 하지 않으면 감점인지 궁금합니다..!
섹션 11. 예시문제 작업형 2유형에서 질문드립니다 train.val 데이터셋 구분할 때 이미 cols 을 적용해서 x_tr,x_val,y_tr,y_val = train_test_split(train[cols], target, test_size = 0.15, random_state= 2023) 이런식으로 구분을 했는데 model에 적용할때도 꼭 cols 컬럼을 지정해줘야하나요? model.fit (X_tr,y_tr) pred = model.predict_proba(X_val) 이렇게만 적으면 안되나요? 수치형데이터에서는 cols 컬럼을 지정해서 model.fit 을 했는데 문자형 데이터에서는 또 cols 컬럼을 지정하지 않았는데 다르게 데이터를 넣는 이유가 있을까요?
안녕하세요 선생님. 문제풀이 중 궁금증이 있어 글 남깁니다.작업형 2번 문제 중 X_train 데이터와 y_train 데이터가 나뉘어 문제가 출제되었을 때, 풀이 중에 concat을 사용하여 두 데이터를 합쳐서 진행하는 부분이 있었습니다.이 부분에서 저는 df라는 변수를 생성하여 두 데이터를 합쳤고 그대로 문제풀이를 진행했는데,이렇게 문제를 풀어도 결과값은 제출이 가능하였습니다.하지만 강의 중 풀이에서는 합치기 전 데이터로 진행하시는 것으로 인지하는데, 애초에 제가 풀이한 대로 진행해도 문제가 없는지, 실제 시험에 3개의 데이터로 출제됐을 때 이렇게 문제풀이를 진행해도 되는지 궁금합니다!
안녕하세요~ 수강생입니다! 작업형2 유형을 풀다보니 문득 궁금한 점이 있어서 질문 올립니다. 만일 실전에서 회귀문제 RMSE를 묻는 문제라고 가정한다면.... 모델을 아래 코드 예시와 같이 다양하게 할 수 있을텐데요.. #### 랜포를 썼을 경우 from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state=2023, max_depth=5) model.fit(X_tr, y_tr) pred = model.predict(X_val) from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error def rmse(y_test, y_pred): return np.sqrt(mean_squared_error(y_test, y_pred)) # print('r2_score:', r2_score(y_val, pred)) # print('mean_absolute_error:', mean_absolute_error(y_val, pred)) # print('mean_squared_error:', mean_squared_error(y_val, pred)) # print('rmse:', rmse(y_val, pred)) #### 부스트를 썼을 경우 from xgboost import XGBRegressor model = XGBRegressor() model.fit(X_tr,y_tr) pred=model.predict(X_val) from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error def rmse(y_test, y_pred): return np.sqrt(mean_squared_error(y_test, y_pred)) # print('r2_score:', r2_score(y_val, pred)) # print('mean_absolute_error:', mean_absolute_error(y_val, pred)) # print('mean_squared_error:', mean_squared_error(y_val, pred)) # print('rmse:', rmse(y_val, pred) 예를들어 위 예시 코드 중에 랜포가 부스트보다 성능이 좋았다면, 최종 제출해야 하는 것은 아래의 코드처럼 1) 랜포나 부스트 둘중에 성능이 좋은 것을 선택, 2) 각 모델에서 하이퍼파라미터 튜닝을 해본 후에 질문의 RMSE가 성능이 제일 잘 나온 것(하이퍼파라미터 값 고정)으로 쭉 뒤에 코딩하고 제출하면 되는 건가요? 결국 1)번과 2)번의 불필요한 모델이나 평가방법은 주석 처리하거나 삭제처리 문제의 RMSE 성능을 봐야하는데 RMSE 코드를 잘모를 경우를 대비하여 sklearn.metrics에 질문의 RMSE 외에 r2_score, mean_absolute_error, mean_squared_error 값들을 한번 보는 용도인거죠? #### 랜포를 썼을 경우 from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state=2023, max_depth=5) model.fit(X_tr, y_tr) pred = model.predict(X_val) from sklearn.metrics import mean_squared_error def rmse(y_test, y_pred): return np.sqrt(mean_squared_error(y_test, y_pred)) # print('rmse:', rmse(y_val, pred))
저는 문제를 풀이할 때 고객의 성별을 예측하라고 해서 roc_auc를 사용했지만 predict를 사용했습니다. 하지만 이번에 올려주신 강의를 보고 roc_auc는 proba를 사용해야된다고 알게되었는데요, proba는 어차피 분류모델에서만 적용되는걸로 알고있는데 그렇다면 분류모델에서 사용가능한 평가지표(f1 스코어, 정확도, 재현율 등) 별 정해져있는게 있을까요? predict 를 써야하는지 predict_proba를 사용해야되는지요...! 확률과 확률값에 대한 차이가 도통 감이 안와서 문의드립니다. 예를들어 평가지표가 주어지지 않고 이 문제에서 단순히 백화점 구매 고객의 성별을 예측하라는 말을 읽고 어떻게 확률값을 구하라는것을 알 수 있을까요..? 예시결과도 단순히 0과 1로 나와있어서 오히려 더 궁금합니다. 사실 제가 predict를 사용한것도 예시결과가 0, 1로 되있어서 그런건데 확률값을 구한다고 하면 proba로 구했을때처럼 0.45 이런식의 소수점이라 생각했거든요...
안녕하세요! 4번 에러에서 이상값을 x_train과 y_train에 동일하게 삭제해 주어야 하는것을 보았는데요, 이상치 삭제의 경우, x_test에서는 동일하게 삭제하지 않는 것인지 문의드립니다. x_test는 주어진대로 돌려야 하는걸까요? 또한 train데이터를 train/val 나누는 경우는 나누기전에 미리 파일을 합쳐서 이상치 삭제를 하면 되는 것일까요~ ?