인프런 커뮤니티 질문&답변

crystal님의 프로필 이미지

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

모델링 및 평가(회귀)

검증데이터 분리

해결된 질문

24.05.28 11:44 작성

·

146

·

수정됨

0

  1. 검증데이터를 분리할때

X_tr, X_val 은 (909, 12) (161,12) 로 열이 12인데 y_tr, y_val 은 왜 열값이 안나오는지 궁금합니다.

 

  1. X_train 변수와 y_train 변수에 대한 정의를 잘 모르겠습니다. 제가 이해한것은 아래와 같은데 이것이 맞나요?

X_train : 학습용 데이터

X_test : ??

y_train : X_train을 통해 학습한 모델로 예측할 데이터

y_test(우리가 pred에 저장할값) : X_test를 통해 학습한 모델로(X_train을 통해 학습해 만든 모델과는 다름) 예측한 데이터

 

  1. 추가로 X_test 가 하는 역할이 헷갈립니다. X_train을 학습한 후 학습모델로 예측을 하는 예측의 결과를 X_test에 담는것인지, 아니면 X_train을 학습했던것처럼 똑같이 X_test라는 검증용 데이터를 한번 더 학습하는것인지 잘 모르겠습니다.

     

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2024. 05. 28. 15:58

  1. 와우! 정확히 보셨어요! 거기에 만약 1이 적히면 데이터프레임이 됩니다. 모델 학습시 타겟이 데이터프레임으로 들어가면 워닝이나 에러가 발생할 수 있어요. 시리즈라서 열값이 나오지 않습니다.


  2. X_test는 예측할 데이터입니다. X_train과 같지만 학습에 사용되는 것이 아니라 예측할 새로운 데이터라고 생각하면 됩니다.

    X_train (학습용)

운동량, 칼로리 섭취량 데이터

 

X_test (어라 새로운 데이터네, 내가 학습시킨 모델로 X_test데이터의 비만여부를 판별해 주겠어!!!)

운동량, 칼로리 섭취량 데이터

y_train (학습용)

비만 또는 정상 데이터

 

y_test

비만 또는 정상을 예측해야 함

3.
그런데 내가 예측한 y_test가 성능이 좋은지 확인할 방법이 없네

비만이 아닌데 비만으로 판별하면 기분 나쁠꺼 아냐~

검증해야겠어!!

X_train와 y_train데이터의 일부를 떼서 검증용(X_val, y_val)으로 만들고

X_val이 새로운 데이터처럼 모델에 넣어 예측을 해보는거야

예측한 결과 값을
떼 놓은y_val과 비교를 해보는거지

성능이 괜찮네!!

그럼 이 모델은 괜찮다고 판단

 

 

최종적으로 문제에서 묻는 건 모델이 아니라

test데이터의 예측값이니 예측값을 제출해야 한다는것 잊지않기!!

0

인프런 AI 인턴님의 프로필 이미지

2024. 05. 28. 11:46

안녕하세요, 인프런 AI 인턴입니다.

질문자님의 문제에 대해 비슷한 내용을 다룬 기존 답변들을 검토한 결과, 질문자님의 상황과 잘 연관될 수 있는 몇 가지 답변을 찾았습니다. 다음 내용들을 통해 귀하가 질문하신 세 가지 주제에 대해 더 명확한 이해를 얻으실 수 있기를 바랍니다.

  1. 검증데이터를 분리할 때 X_tr, X_val의 열이 나오는 방법y_tr, y_val이 열 값이 출력되지 않는 이유:

    • [train_test_split의 이해와 사용법](https://www.inflearn.com/questions/1067502)에서, train_test_split 함수 사용 방법이 상세히 설명되어 있습니다. y_try_val이 열 값을 가지지 않는 이유는, 이 변수들이 일반적으로 예측 대상(종속 변수)을 나타내기 때문입니다. 종속 변수는 보통 예측해야 할 단일 값들의 모임이기 때문에 열 값이 따로 출력되지 않습니다. 대신, 이 변수들의 길이(데이터의 개수)는 출력될 수 있습니다.
  2. X_train, X_test, y_train, y_test 변수의 정의:

    • 이에 대한 자세한 설명은 [y_tr 과 y_train 의 차이점](https://www.inflearn.com/questions/1053067)에 잘 기술되어 있습니다. X_train은 학습을 위한 데이터(독립 변수), y_train은 해당 데이터의 예측 대상(종속 변수)입니다. X_test는 실제 모델이 얼마나 잘 작동하는지 평가하기 위해 사용되는 데이터 세트로, 모델이 이전에 본 적 없는 데이터입니다. 이후, 모델을 통해 X_test의 결과를 예측하여 y_test를 얻게 됩니다(여기서는 pred로 표현될 수 있음).
  3. X_test의 역할:

    • 검증용 데이터(X_test)에 대한 역할은 [데이터 분리할 때](https://www.inflearn.com/questions/1066862) 내용에 좀 더 설명되어 있습니다. X_test는 학습 과정에서 본 적 없는 새로운 데이터 세트로, 학습된 모델의 일반화 능력을 테스트하는 데 사용됩니다. 즉, X_train으로 모델을 학습시키고, 학습된 모델을 이용하여 X_test 데이터의 결과(y_test 또는 pred)를 예측합니다. 이는 X_test 데이터를 새로 학습하는 것이 아니라, 이미 학습된 모델을 사용하여 예측을 수행하는 것을 의미합니다.

이 내용들을 통해 질문자님의 각 질문에 대해 조금 더 명확한 해답을 얻으셨기를 바랍니다. 데이터 분리 및 모델 학습 과정에 대한 근본적인 이해는 머신러닝 모델을 구축하는 데 매우 중요합니다. 질문에 대한 대답 외에도 실제 예제 코드를 통해 개념을 확인할 수 있으니 참고하시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

crystal님의 프로필 이미지

작성한 질문수

질문하기