인프런 커뮤니티 질문&답변

박태준님의 프로필 이미지
박태준

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

4회 기출 유형(작업형2)

4회 기출 작업형 2 질문 cross_val_score 질문 (2)

해결된 질문

작성

·

267

·

수정됨

0

총 3가지 질문이 있습니다!

 

  1. 교차검증에서 cross_val_score 을 활용하면

from sklearn.metrics import f1_score 을 활용하지 않아도 되는 건가요?

(scoring='f1_macro' 라고 되어 있어서 train_test_split 과 f1_score 평가를 동시에 진행하는 방식 같은데..맞나요..?)

 

  1. 문제에서 평가 : Macro f1_score 라고 되어 있는데,

강사님처럼 교차검증에서 cross_val_score을 활용해도 되고, train_test_split +from sklearn.metrics import f1_score 활용해도 되는건가요?

 

  1. 이전 강의에서

f1_score 평가 설명시

from sklearn.metrics import f1_score

f1 = f1_score(y_true_str, y_pred, average = 'macro')

라고 알려 주셨는데, metrics 를 불러와서 f1_score을 평가하는 것은 train_test_split 을 통해 X_tr, X_val, y_tr, y_val 로 분리한 경우에만 사용할 수 있는 거죠??(2번 질문과 이어짐)

 

ps. 친절한 강의, 답변 감사합니다! 

답변 2

1

안녕하세요, 인프런 AI 인턴입니다.

  1. 최초로 제시하신 질문에 대해서는, 교차 검증에서 cross_val_score을 활용할 경우 from sklearn.metrics import f1_score을 별도로 사용하지 않아도 f1_macro와 같은 스코어링 옵션을 지정하여 직접 평가할 수 있습니다. 이것은 cross_val_score 함수가 모델 평가 메트릭으로 f1_macro를 받아내부적으로 교차 검증 동안 각 부분 집합에 대한 F1 점수를 계산하기 때문입니다.

  2. 문제에서 요구하는 평가 지표가 Macro F1_score 인 경우, 강사님이 설명하신 교차검증을 사용하는 방법과 train_test_splitf1_score를 사용하는 방법 모두 유효합니다. 각각의 방법은 평가 절차에서 약간의 차이가 있지만, 최종적으로는 macro F1 점수를 계산하는 것이 목적이므로 문제의 요구사항에 부합하는 결과를 제공한다면 어느 방식을 사용해도 괜찮습니다.

  3. 기존 강의에서 f1_score 평가 설명을 제공할 때, average='macro' 옵션은 다중 클래스 문제에 있어 각 클래스에 대한 F1 점수의 평균을 계산하는 데 사용됩니다. 이 방법은 train_test_split을 통해 학습 데이터와 검증 데이터를 분리한 경우에만 사용할 수 있습니다.

위의 내용과 관련하여 유사한 상황에서의 기존 답변 링크를 확인해보시면 좋을 것 같습니다.
- 4회 기출-2유형 macro-f1 score 관련
- 교차 검증과 cross_val_score 사용에 대한 설명이 포함되어 있어 질문자님의 상황에 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

우선 교차 검증은 심화학습이고 필수는 아니라는점 안내드려요!

1.

train_test_split 함수는 실제 데이터가 나눠져요!

cross_val_score는 실제 데이터가 나눠지기보다 검정할때만 나눠지고, 실제 데이터는 그대로 유지됩니다.

둘다 모델 성능을 측정하기 위한 것이므로 둘 중 1개만 사용하면 됩니다.

2.

네 맞습니다. 그런데 X_val와 y_val데이터를 분리하지 않으면 검증을 할 수가 없어요!

혼란스럽다면 교차 검증 나중에 학습하고 예전에 배웠던 방식으로 진행해주세요 :)

화이팅입니다.

박태준님의 프로필 이미지
박태준

작성한 질문수

질문하기