해결된 질문
작성
·
300
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%를 검증 세트로 사용하겠다는 것을 의미합니다.