random_state 지정 문의
2924
작성한 질문수 6
train_test_split, DecisionTreeClassifier 등 다양한 코드에서
random_state를 지정해서 사용합니다.
책에서는 실습용으로 같은 결과를 보기 위해 사용하는걸로 이해했는데
실제로 데이터 분석을 진행할때는 설정 없이 하는게 성능에 더 좋을까요? 큰 차이 없을까요?
답변 4
3
안녕하십니까,
train_test_split와 DecisionTreeClassifier에 들어가는 random_state는 의미상으로 서로 살짝 차이가 있습니다만 수행할 때마다 동일한 결과를 도출하게 한다는 측면에서는 적용하는 게 좋습니다. 이는 성능과 무관하게 일반적으로 성능 결과를 Debugging할 때 유리한 점이 있기 때문입니다.
1. train_test_split 의 경우에 데이터 세트가 적을 경우 random_state를 어떻게 정하느냐에 따라 데이터 세트가 변경될 수 있기 때문에 종종 test 성능 수치가 달라질 수 있습니다. 때때로 성능 평가를 위한 정확한 test 데이터를 뽑아내는 것은 쉬운 일일이 아닙니다. 때문에 교차 검증 수치로 보완하거나 여러개의 테스트 세트를 만드는데 이때마다 다른 random_state를 주어서 평가하는 방법을 적용하곤 합니다. train_test_split의 경우에는 random_state를 줄거냐 말거냐 보다는 어떻게 테스트 데이타를 정확하게 만들것인가를 좀더 고민이 필요합니다.
하지만 random_state를 적용하지 않는 것 보다는 random_state를 적용하는 것을 권장 드립니다. 특정 random_state로 분리할 경우 테스트 성능이 좋거나 또는 나빠질 수 있지만, 이는 random state의 문제라기 보다는 전체를 대변하는 테스트 데이터 세트를 뽑기 어렵거나/전체 데이터가 너무 작거나 인 경우가 대부분입니다. 특정 random_state에서 성능 수치가 너무 변한다면 여러개의 random_state를 적용하면서 보편적인 테스트 데이터를 선택하는 방법을 권장 드립니다.
2. DecisionTreeClassifier과 같은 estimator에 생성자로 들어가는 random_state는 동일한 학습 결과를 도출한다는 것 외에도 알고리즘의 초기 weight나 최적 파라미터를 선택하는 기법에 이를 적용하게 됩니다. 일반적으로 random_state를 설정하는 것이 좋습니다. 단지 random_state를 이용하여 최적화를 할 경우 overfitting 할 수 있으므로 너무 의존적이 되지 않도록 해야 합니다.
결과적으로 두가지 경우 모두 실전 분석에 random_state를 설정하는 것이 좋다고 생각합니다.
감사합니다.
1
안녕하십니까,
random_state를 지정하기만 하면 됩니다. train_test_split와 DecisionTreeClassifier가 동일한 random_state를 가질 필요는 없습니다.
감사합니다.
0
안녕하세요
검색해보다가 추가 질문을 드리려고 합니다.
"두가지 경우 모두 실전 분석에 random_state를 설정하는 것이 좋다"라고 하셨는데
train_test_split의 random_state와 DecisionTreeClassifier과 같은 estimator에서의 random_state를 동일하게 설정해야 유의미한 것인가요?
예를들어 train_test_split에서 random_state=7로 지정했으면 DecisionTreeClassifier와 같은 estimator에서도random_state=7로 지정해야 결과가 유의미한 것인지 아니면 전혀 상관 없는지 궁금합니다.
항상 감사합니다.
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
6
1
안녕하세요 열심히 수강중인 학생입니다
0
63
2
정수 인덱싱
0
68
2
넘파이 오류
0
85
2
11강 numpy의 axis 축 질문 드립니다.
0
85
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
79
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
70
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
75
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
64
2
5강 강의 오류가 있어요.
0
84
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
72
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
69
3
파이썬 다운그레이 후 사이킷런 재설치
0
117
2
좋은 강의 감사합니다.
0
74
2
scoring 함수 음수값
0
67
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
100
2
분류 평가 정확도 예측
0
79
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
99
1
카카오톡 채널 있나요
0
108
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
190
2
pca 스케일링 관련하여 질문드립니다.
0
100
2
주피터 대신 구글 코랩
0
172
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
148
2
실루엣 스코어..
0
86
2





