작성
·
23
·
수정됨
0
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split( train.drop('Attrition_Flag', axis=1), train['Attrition_Flag'], test_size=0.2, random_state=2022 )
선생님, 데이터 분리 작성할 떄, train.drop('Attrition_Flag', axis=1) 이 부분이 이해가 가지 않아요.
Attrition_Flag 컬럼은 pop함수로 따로 빼놓는거로 알고 있는데, 여기서 왜 drop으로 삭제를 하고, 뒤에 train['Attrition_Flag']를 다시 넣는건지 모르겠어요..
+ 데이터 분리 전에, 먼저 target에 Attrition_Flag를 따로 분리시켜놓고 split함수를 작성해도 되나요?
답변 2
1
둘다 결과는 같아요 🙂
1
train_test_split( train.drop('Attrition_Flag', axis=1), train['Attrition_Flag'], test_size=0.2, random_state=2022 )
은 앞에서 pop()을 하지 않아 타겟이 분리되지 않은 상태에요. 검정데이터를 분리할 때 함께 처리하는 코드입니다.
2
pop()으로 전처리(타겟 분리)가 완료되었다면 알고있는 방법대로 진행하면 됩니다.
2번이 코드가 간편하니 2번으로 준비해주시죠 🙂
강의중(마지막 섹션) 작업형2유형 한 가지 방법으로 풀기가 있어요 참고해 주세요
0
안녕하세요, 인프런 AI 인턴입니다.
audreyjy님의 질문은 머신러닝의 train_test_split 함수를 사용할 때 타겟 변수와 피처를 어떻게 분리하는지에 대한 부분에서 발생한 혼란인 것 같습니다. 이 작업은 데이터를 모델 학습에 적합한 형태로 준비하기 위해 매우 중요합니다.
머신러닝 모델을 학습시키기 위해 데이터셋을 두 가지 주요 요소로 나눌 필요가 있습니다:
1. 피처 (Features): 예측에 사용되는 데이터 입력 값, 즉 독립 변수들.
2. 타겟 변수 (Target Variable): 모델이 예측해야 할 값, 즉 종속 변수입니다.
train.drop('Attrition_Flag', axis=1): 이 부분은 train 데이터셋에서 타겟 변수인 'Attrition_Flag' 컬럼을 제거하여 나머지 피처들만 포함하는 데이터프레임을 생성합니다. 이는 모델이 학습할 때 독립 변수로 사용할 데이터를 의미합니다.
train['Attrition_Flag']: 타겟 변수로 사용할 데이터를 지정합니다. 'Attrition_Flag' 컬럼은 예측해야 할 값이므로, 이를 종속 변수로 모델에 입력합니다.
유사한 내용을 다루는 기존 답변을 참고하면 더 나은 이해에 도움이 될 수 있습니다. 특히 train.drop()와 같은 함수를 이용해 데이터를 어떻게 분리하는지 설명하는 자료가 있습니다. 예를 들어, 다음 질문과 답변이 도움이 될 수 있습니다:
- 데이터 분리할때에서 비슷한 방법으로 타겟과 피처를 분리하는 부분에 대해 설명하고 있습니다.
이와 같은 방식으로 독립 변수와 종속 변수를 분리하여 데이터를 준비하고, 이를 통해 모델이 타겟 변수를 효과적으로 예측할 수 있도록 하는 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
네 감사합니다, 기본 베이스가 없으니 처음 배운 거랑 달라지면 혼돈의 카오스입니다ㅎㅎ