본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

AI/Model Selection

random_state는 왜 42일까? 또 항상 써야할까? 선택일까?

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는 “필수는 아니지만, 

안 쓰면 실험이 재현되지 않아서 사실상 필수처럼 쓰는 옵션.