안녕하세요. 오징어게임 관련해서 문의사항이 있어 남깁니다. 5/12 미션 [2-a 도서] 작업형1 연습문제 - 섹션1, 섹션2 (p.164~165)의 경우 시나공 2026 버전으로 작성해주신 것 같은데 제가 갖고 있는 2025 버전의 경우는, 섹션을 기준으로 풀면 되는지 문의드립니다! 답변해주시면 감사하겠습니다^^
# test 예측 pred = rf.predict_proba(test) ValueError Traceback (most recent call last) <ipython-input-221-192ffa211ac4> in <cell line: 0>() 1 # test 예측 ----> 2 pred = rf.predict_proba(test) 3 3 frames /usr/local/lib/python3.11/dist-packages/sklearn/utils/validation.py in _check_feature_names(estimator, X, reset) 2775 message += "Feature names must be in the same order as they were in fit.\n" 2776 -> 2777 raise ValueError(message) 2778 2779 ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time: - TravelInsurance 이런 오류가 뜹니다 test가 예측값이니까 TravelInsurance 컬럼이 없어야 하는게 맞는건가요? 샘플 찍어봤을 때 train,test 둘 다 TravelInsurance 이 컬럼이 있었습니다. 코드 작성은 선생님과 동일하게 했는데 자꾸 저런 오류가 뜨네요 ㅠㅠ 검증 데이터 분리할 때 train.drop만 해줘서 그런건가요..?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요. 수업 열심히 잘 듣고 있습니다 (__) 다름이 아니라, postman 실습 할 때마다 느끼는게, 특정 id 값에 해당하는 값을 update 하였을 때, 별도의 정렬 조건 없이 find 하여 나오는 get 요청의 결과값 리스트에 항상 update 된 row이 최하단으로 정렬되어 나오는 걸 볼 수 있었습니다. 그래서 개인적으로 추측해보기에 updateColumn()으로 지정된 updatedAt이 row가 업데이트 될 때마다 같이 갱신되므로, find에 아무런 정렬 조건을 기재하지 않았을 때, updatedAt 기준으로 알아서 맞춰서 정렬을 해주나보다 싶었는데, updatedAt 컬럼을 삭제하고 데이터베이스 초기화 후 다시 해봐도 똑같이 update 된 row가 마지막에 나오네요. 실제로 실무에서는 order를 거의 기재를 하면서 진행 하기에 문제는 없겠지만, 이렇게 동작하는 이유에 대해 궁금합니다. 감사합니다.
2유형 학습중 이해를 잘 못한 부분이 있습니다. 먼저 수치형 변수 스케일러의 경우 스케일러함수(train) 이렇게만 사용하거나 스케일러함수(train['수치형변수'] 이렇게 사용할 때가 있고 동일하게 변수형 변수 인코딩의 경우 라벨인코딩(train) 이렇게는 사용 안하고 항상 라벨인코딩(train[cols]) 이렇게 사용하시는데 원핫인코딩(train) 이런식으로 사용하시는 부분에 있어서 어떤 함수가 파이썬에서 자동으로 수치형과 범주형을 구분해서 변환해주는지 궁금합니다. GPT에도 확인했지만 물어볼 때마다 답이 다르네요...
문제에서 평가지표가 ROC-AUC, 정확도, F1 세가지가 있고 모델&평가할 때 이 지표 세가지를 다 구해서 확인을 했는데 마지막에 test데이터를 활용해서 실제 예측을 할 때는 왜 pred_proba를 사용한건가요? ROC-AUC를 기준으로 선택해서 그런건가요? 그럼 정확도 기준으로 선택하면 pred 사용해도 되는건가요? <문제> ## 심장마비 확률이 높은사람? - 성별, 나이, 혈압, 콜레스테롤, 공복혈당, 최대 심박수 등의 컬럼이 있음 - 평가: ROC-AUC, 정확도(Accuracy), F1 을 구하시오 - target : output (1:심장마비 확률 높음, 0:심장마비 확률 낮음) - csv파일 생성 : 수험번호.csv (예시 아래 참조) <모델&평가> # xgb from xgboost import XGBClassifier from sklearn.metrics import roc_auc_score, f1_score, accuracy_score xgb = XGBClassifier(random_state=2022) xgb.fit (X_tr, y_tr) pred = xgb.predict(X_val) pred_proba = xgb.predict_proba(X_val) print(roc_auc_score(y_val, pred_proba[:,1])) print(f1_score(y_val, pred)) print(accuracy_score(y_val, pred)) <예측 및 csv 제출> pred_proba = xgb.predict_proba(test)