예전에 문제를 풀 땐 별 생각이 없었는데 다시 보니 Pclass를 꼭 범주형으로 지정할 이유가 있을까요? 클래스가 등급이면 수치형으로 봐도 되지 않을까요? from statsmodels.formula.api import logit model = logit('Survived ~ C(Pclass) + Gender + SibSp + Parch', data=df).fit() model.params['Parch'] 다시 풀어보니 실제 문제에서 저렇게 나온다면 범주형으로 지정해야할지 수치형으로 그대로 둘지 결정하기 애매할 것 같아서 여쭤봅니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 레이블 인코딩을 사용하면 잘 작동하는데 원핫 인코딩을 사용하면 에러가 뜨네요 혹시 이유가 컬럼갯수가 너무 많아져서 그런거일까요? ValueError: X has 72 features, but DecisionTreeClassifier is expecting 73 features as input.
예시문제 작업형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 이런식의 소수점이라 생각했거든요...