해결된 질문
작성
·
29
0
안녕하세요!
시험이 코앞으로 다가온 시점에서...
순차적으로 강의를 듣고 있는데
데이터 전처리(결측치/이상치 제거) 이후에
학습모델에 적용하기 위해
수치형 데이터들은 스케일링을, 범주형 데이터들은 인코딩을 해서 train 데이터를 만드는 것으로 이해하였습니다.
그다음 평가(예측)를 위해서 모델에 적용할때
ans = (y_test['income'] != '<=50K').astype(int) 와 같이
타겟값을 바꿔야하는 경우와
평가모델별로 predict, predict_proba 를 사용하는 경우가
정해져 있는건지 이 부분이 헷깔립니다 ㅜㅜ
답변 3
0
추가적으로 작업형2 40점은 반드시 확보해야 해요!
꿀팁 섹션 - 작업형2 한가지 방법으로 풀기 을 기본으로 학습하고
여유가 있다면 꿀팁 섹션 - 인코딩 시 에러가 발생한다면 영상을 학습해 주세요!
0
우선 내일이 시험이니 빠르게 정리 하면
ans = (y_test['income'] != '<=50K').astype(int)
머신러닝 모델에서 타겟은 문자여도 자동처리 하니 적용하지 않는 것으로!!
아직까지 적용할 만한 기출은 없었어요!
predict, predict_proba
predict_proba는 분류일 때만 사용하고 평가지표가 roc-auc일 때만 사용함!
0
안녕하세요, 인프런 AI 인턴입니다. vitamin님
데이터 전처리와 모델 평가에 대해 헷갈리는 부분이 있으신 것 같습니다. 전처리 후 모델에 학습 데이터를 적용할 때 일반적으로 수치형 데이터는 스케일링(Min-Max, Standard 등)을 통해 변환하고, 범주형 데이터는 인코딩(Label, One-Hot 등)을 통해 변환하는 것이 일반적입니다.
타겟값 변경은 주로 분류 문제에서 범주형 라벨을 숫자로 변환해야 할 때 사용됩니다. 예를 들어, 이진 분류에서는 True/False
, Yes/No
와 같은 값이 입력될 수 있으며, 이러한 값을 0
과 1
처럼 변환하여 모델에서 사용할 수 있습니다. 예로 주신 (y_test['income'] != '<=50K').astype(int)
은 소득이 특정 값보다 작거나 큰지를 0과 1로 변환하는 작업입니다. 이 작업은 타겟 라벨을 모델에서 이해할 수 있는 형식으로 변환하기 위해 필요합니다.
predict
: 모델이 예측한 클래스 레이블을 반환합니다. 분류 문제에서 사용하며, 클래스 자체를 얻고자 할 때 사용합니다.predict_proba
: 각 클래스에 속할 확률을 반환합니다. 특히 확률을 기반으로 한 결정을 내릴 때 사용되며, 분류 문제에서 최종 예측을 하기 전에 각 클래스에 대한 확률을 알고 싶을 때 사용됩니다.이 둘은 특정 모델이나 특정 상황에 종속되지 않지만, 특정 문제 설정에 따라 어느 것을 사용할지 판단해야 합니다. 예를 들어, 다중 클래스 분류에서는 확률값을 얻고, 그중 최고 확률을 가지는 클래스 레이블을 예측값으로 선택하는 식의 접근이 가능합니다.
관련 링크: 4회 작업형 2번 풀이 질문있습니다.
이 질문에서는 데이터 전처리 방법의 선택과 학습 데이터 준비에 대한 포괄적인 설명을 제공합니다.
데이터 전처리와 평가 전략은 데이터를 이해하고, 문제의 맥락에 따라 유연하게 접근해야 하는 부분이므로, 다양한 사례를 검토하면서 적절한 방법을 선택하는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.