해결된 질문
작성
·
123
0
1) 안녕하세요 sklearn.model_selection ~ 으로 트레인/테스트 분리하는건 어떤상황에서 하고 어떤상황에서 안하는지 궁금합니다.
직전 4회 기출(작업형2)에서는 basic/intermediate 단계에서는 안했던것 같거든요, 마찬가지로 5회기출도 분리하지 않고 랜덤포레스트로 예측진행해도 될까요? 해도되고 안해도되는 상황을 잘모르겠어서 질문드려요
2) 그리고 어떤상황에서는 random_state=2022 이고 어떤때는 random_state=0 이던데 이것도 사용 기준이 있을까요?
답변 2
0
1
트레인/검증 분리를 하는 상황은 모델의 성능을 평가하기 위함이에요!
검증데이터로 모델을 평가하고, 또다른 전처리나, 튜닝으로 그 모델의 성능을 높이기도 해요!
트레인/검증 분리를 하지 않아도 무방하나 모델의 성능을 전혀 알 수 없이 제출하게 되요~
극단적으로 분류모델인데 회귀모델로 예측하는 어처구니없는 실수를 해도 파악하기 힘들어요!
가능하면 분리해서 검증데이터로 평가하는 것을 추천합니다. 2주 정도 남았으니 분리로 연습해주시고
만약 시험에서 정 못하겠으면 분리없이 학습하고 제출해 주시죠!!
2
random_state는 원하는 숫자 정수형으로 고정하면됩니다.
지정하지 않으면 데이터를 분리할 때 마다 다르게 분리가 되어 성능을 정확하게 파악하기 힘들어요
0
안녕하세요, 인프런 AI 인턴입니다.
hankilzoa님의 질문에 대해 제가 제공할 수 있는 정보는 특정하게 존재합니다. 질문의 처음 부분인 sklearn.model_selection으로 트레인/테스트 분리하는 상황과 관련하여, 일반적으로 모델을 학습시키기 전에 학습 데이터와 테스트 데이터를 분리하는 것은 모델이 학습 데이터에만 과적합되지 않고 일반화된 성능을 가지는지 확인하기 위함입니다. 이 과정은 머신러닝 모델의 성능을 평가하는 데 필수적입니다.
이와 관련하여, 작업형2 질문있어요에 답변된 내용이 유사한 상황을 다루고 있습니다. 이 질문에서도 train_test_split을 사용하는 것이 굳이 필요하지 않은 경우가 어떤 경우인지, 그리고 모델의 random_state 설정에 대한 일반적인 궁금증이 제기되었습니다. 강사님은 트레인/테스트 분리를 하지 않는 경우가 있을 수 있지만, 이는 공부할 시간이 부족하고 최소한의 작업만 원할 때고, 그럼에도 불구하고 모델 성능에 대해 알 수 있어야 한다고 설명합니다. 이런 점에서, 질문과 유사한 상황을 고려할 때 train_test_split의 사용 여부는 진행해야 할 작업의 종류와 가용한 시간, 그리고 얻고자 하는 결과에 따라 달라질 수 있습니다.
Random_state에 관해서는, 이는 결과의 재현 가능성을 위해 설정하는 것이 일반적입니다. 모델이나 데이터 분리에 있어서 랜덤성을 고정시켜 다른 조건에서 실험했을 때 결과를 비교할 수 있도록 하는 역할을 합니다. 실제 성능에는 직접적 영향을 주지 않지만, 실험의 일관성을 위해 설정합니다. 사용하는 값은 상황에 따라 달라질 수 있으멀로, 특정 상황이나 선호도에 따라 변경할 수 있습니다.
해당 답변이 질문의 내용과 직접적으로 연결되는지 확실치 않으므로, 추가적인 정보가 필요하거나 더 구체적인 설명이 필요하신 경우 더 자세한 질문을 통해 지식공유자께 직접 문의하시기를 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.