인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김성광님의 프로필 이미지
김성광

작성한 질문수

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

모델링 및 평가(분류)

학습용/검증용 데이터 구분

해결된 질문

작성

·

316

0

# 학습용 데이터와 검증용 데이터로 구분 from sklearn.model_selection import train_test_split y = (y_train['income'] == '>50K').astype(int) X_tr, X_val, y_tr, y_val = train_test_split(X_train, y, test_size=0.1, random_state=2022) 이 부분이 이해가 잘 가지 않아요. X_tr, X_val, y_tr, y_val 이렇게 4개에 지정하는데, test_split은 X_train, y 이렇게 두개만 들어가고.. y_train이 아닌 y만 넣는 이유도 모르겠습니다 ㅠ

답변 1

0

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

train_test_split 함수는 데이터를 학습 세트와 검증 세트로 분할하는 데 사용됩니다. X_train은 모델이 학습할 때 사용하는 특성(독립 변수)을 포함하고, y는 우리가 예측하고자 하는 대상(종속 변수)을 포함합니다. 즉, y는 50k 이상과 미만입니다.

 

train_test_split 함수

  • X_train: 모델이 학습하는데 사용하는 피처(독립변수)이다. 예를 들어, 이 데이터 세트에는 연령, 교육, 직업 등과 같은 특성이 포함될 수 있습니다.

  • y: 모델이 예측하려고 하는 타겟 변수입니다. 여기서는 'income'이라는 컬럼이 있으며, 이는 사람의 수입이 50K 이상인지 여부를 나타내는 이진 분류 문제입니다. y_train['income'] == '>50K'는 수입이 50K 초과인 경우를 찾아서 해당 조건이 참인지 거짓인지에 따라 이진 값을 가지는 새로운 변수를 생성합니다. .astype(int)는 이진 결과를 정수 형태로 변환합니다 (즉, 참은 1로, 거짓은 0으로).

그래서 train_test_split 함수를 호출할 때 X데이터(학습용 피처), y데이터(타겟)을 받아서

각각의 학습 세트(X_tr, y_tr)와 검증 세트(X_val, y_val)로 분할합니다. test_size=0.1 파라미터는 전체 데이터의 10%를 검증 세트로 사용하겠다는 것을 의미합니다.

김성광님의 프로필 이미지
김성광

작성한 질문수

질문하기