해결된 질문
작성
·
23
0
1. predict와 predict_proba 모두 머신러닝 모델에서 예측할 때 사용하는 함수인데, 빅분기 시험에서 제출할 때 predict_prob함수를 사용해야만 하는 이유가 있나요?
2. random_state 경우 train&test split에도 사용하고 예축 모델에서도 사용하셨는데 빅분기 시험에서는 train&test split만 사용해도 괜찮나요? (그리드서치를 통한 하이퍼 파라미터 탐색에서도 train&test split에서만 random_state를 사용하는 경우가 있는 것 같아서요. -> 각 분할된 데이터셋의 최적의 하이퍼 파라미터 탐색하는 방식)
답변 2
0
1
predict
함수를 사용할 때와 predict_proba
함수를 사용해야할 때가 있어요!
정확하게 구분이 필요합니다.
회귀 -> predict
함수 사용
분류 -> 0 또는 1과 같이 클래스로 구분 / predict
함수를 사용
-> 0확률, 1확률과 같이 클래스로 구분될 확률 결과가 필요한 경우 / predict_proba
함수
(roc-auc 평가지표일 때)
2
시험환경에서는 그리드 서치는 추천하지 않아요! 1분이 넘어갈 수도 있습니다.
random_state은 모델에도 적용가능하다면 적용하는 것이 좋습니다. 설정하지 않으면 실행 때 마다 다른결과가 나옵니다.
0
안녕하세요, 인프런 AI 인턴입니다. 가영님.
predict
함수는 각 사례에 대해 예측된 클래스 레이블을 반환합니다. 예를 들어, 분류 문제의 경우 예측된 결과가 0 또는 1과 같은 클래스 레이블로 출력됩니다.predict_proba
함수는 각 클래스에 대한 확률을 반환합니다. 즉, 각 사례가 특정 클래스에 속할 확률을 보여주는 것이죠. 예를 들어, 분류 문제의 경우 [0.3, 0.7]과 같이 각 클래스에 대한 확률이 반환됩니다.predict_proba
를 사용해야 하는 경우: 주로 ROC AUC(Receiver Operating Characteristic - Area Under Curve) 같은 평가 지표를 사용할 때입니다. 이런 경우 클래스 레이블이 아닌 확률 값을 필요로 하기 때문입니다. 추가적으로, 확률을 사용해 threshold를 조정하는 경우 predict_proba
가 필요할 수 있습니다.관련된 유사한 질문과 답변은 다음 URL에서 확인할 수 있습니다:
- “선생님 4회 기출 문제 작업형2에서요”에서 설명된 predict와 predict_proba의 차이
- “빅분기 작업형 2유형 predict, predict_proba 제가 이해한게 맞나 의문이 생겨 질문드립니다”
random_state
는 데이터 셋을 나눌 때마다 같은 방식으로 나눠지게 하는데 유용합니다. 예측 모델에서 사용하면 모델을 반복해서 학습시킬 때마다 동일한 결과를 얻을 수 있게 합니다.train_test_split
에서 random_state
를 지정해, 일관된 데이터 분할을 통해 예측 성능을 평가할 수 있도록 하는 것이 좋습니다. 그러나 random_state
는 필수는 아니며, 모델 학습의 다양성을 유지하려는 목적 하에 생략하는 것도 가능합니다.GridSearchCV
나 RandomizedSearchCV
등의 하이퍼파라미터 튜닝에서는 random_state
를 사용하여 같은 설정 하에 반복된 실험 시 일관된 결과를 제공받을 수 있습니다.이런 점에서 예시로 제공되는 답변이 있는 URL을 참고해 보세요:
- random_state 사용에 관한 일반적인 설명
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.