Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

혼자공부하는 머신러닝 딥러닝 p247 질문입니다.

6 views
Skip to first unread message

TheMrLeeJungHyun

unread,
Jul 29, 2024, 6:44:36 AM7/29/24
to 머신러닝/딥러닝 도서 Q&A
혼자공부하는 머신러닝 딥러닝 p247 질문입니다.
1번질문:
KFold분할기, StratifiedFold 분할기의 차이를 잘 모르겠습니다.
책에는 회귀모델일 경우 KFold, 분류모델일 경ㅇ StratifiedFold를 사용한다고 나와있는데,
이에 대한 설명부탁드립니다.


2번 질문
247쪽을 보면 코드가 2개(가 있습니다. 위에있는 코드를 1, 아래에 있는 코드를 2로 가정합니다.).
1번 코드와 2번코드이 차이를 잘 모르겠습니다.
즉,  책에는 훈련 세트를 섞은후 K-폴드 교차검증을 수행하려면 다음과 같이 작성합니다. 라고 나와있는데,
1번 코드도 훈련세트를 섞은것 아닌가요? 1번 코드를 보면 cv=StratifiedFold() 이런 표현이 있는이 훈련세트를
섞은것 같은데, '247쪽을 보면 코드가 2개(가 있습니다. 위에있는 코드를 1, 아래에 있는 코드를 2로 가정합니다' 이런
표현이 온 이유가 무엇인지 궁금합니다.

3번질물

2번 질문과 이어지는 질문입니다. 2번 코드에서 n_splits=10으로 되어있는데 10을 5로 하면 1번 코드와 같은 결과가 나올것 같은데 다른 결과가 나왔습니다.
이유를 알고싶습니다.
1번 코드:from sklearn.model_selection import StratifiedKFold
scores=cross_validate(dt, train_input, train_target, cv=StratifiedKFold())
print(np.mean(scores['test_score']))
0.855300214703487

2번코드: splitter=StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
scores=cross_validate(dt, train_input, train_target, cv=splitter)
print(np.mean(scores['test_score']))
0.8539548012141852

감사합니다.

Reply all
Reply to author
Forward
0 new messages