random_state=42는 선택. 하지만 거의 항상 넣는 게 맞다.
예로
결과 동일해야 하는 상황 즉 과제 / 보고서, 모델 비교, 실험 재현, 디버깅시 써야하며
단순 테스트 혹은 랜덤성 자체가 목적일 때는 사용하지않아도 된다.
예로
ML에서는 거의 항상 사용하며 특히 classification에서는 stratify까지 고정으로 같이 쓰게된다.
train_test_split(..., random_state=42, stratify=y)
의미는 항상 같은 방식으로 섞어라라는 고정값이다.
42는 그저 관례일뿐, 0, 1, 123 을 써도동일하게 작동한다.
train_test_split(X, y, random_state=42)
random_state는 데이터 섞는 기준을 고정한다.
만약 없으면? 실행할 때마다 train/test 구성이 계속 바뀌어 결과가 매번 달라진다.
train_test_split(X, y)
결론적으로 random_state=42는 “필수는 아니지만,
안 쓰면 실험이 재현되지 않아서 사실상 필수처럼 쓰는 옵션.