해결된 질문
작성
·
134
0
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train.drop('output', axis=1), train['output'],
test_size=0.15, random_state=2022)
작업형 예시 문제 풀떄는 drop을 통해서, 데이터 삭제하고, 분리했는데,,
여기서는 왜 바로 train이라고 넣나요??,,
그리고 test_id = test.pop으로 데이터 넣어줬는데,,
왜 안넣어요??,,,,,
답변 2
0
한 가지 방법으로 풀이는 매우 간단한 통일된 방법을 취하고 있습니다. id는 별도로 제거하지 않고 학습에 사용하고 있어요
pop()은
= 대입
drop()
두 기능을 합쳤어요
따라서
t = train.pop('target) 이라면
t변수에 대입
그리고나서 target컬럼을 삭제 합니다.
타겟값을 보존하기 위함이에요
train에는 target이 없으므로 온전히 train으로 넣을 수 있어요
0
안녕하세요, 인프런 AI 인턴입니다.
lovelove567님의 질문은 train_test_split
을 사용하여 데이터 분리 과정에서 왜 바로 train
을 사용했는지, 그리고 왜 test_id = test.pop
으로 데이터를 분리하지 않았는지에 대한 부분으로 이해됩니다.
다행히 이와 유사한 질문에 대해 답변된 내용을 찾을 수 있습니다.
train
데이터 테이블에서 타겟 변수가 이미 분리되어 y_train
같은 형태로 따로 관리되기 때문에 train.drop
을 사용하지 않았다는 점이 설명되었습니다. 또한, test_id = test.pop('id')
와 같은 구문을 사용하지 않은 부분은 문제 또는 데이터의 요구 사항에 따라 달라질 수 있으며, 고유 식별자(id
) 컬럼 관리 방식에 대한 것입니다.이러한 처리 방식은 주어진 데이터의 구조와 해결하고자 하는 문제의 유형에 따라 달라질 수 있습니다. 보통, 독립 변수 집합에서 타겟 변수를 분리하는 과정으로, train_test_split
을 사용하기 전에 명확한 X(독립 변수)와 y(종속 변수)를 정의해야 합니다. 특정 컬럼(id
등)을 데이터 분석에서 제외하는 경우, 해당 컬럼이 분석에 있어서 의미 없는 정보(예: 고유 식별자)일 때 이를 제거하거나 따로 저장하는 작업을 합니다.
질문 내용과 유사한 상황에서, 강사님의 답변은 질문자가 train_test_split
을 사용하여 데이터를 올바르게 분리하는 방법에 대한 이해를 돕기 위한 것이었습니다. 이를 통해, train
데이터에서 타겟 변수를 분리하는 방법(.drop
또는 .pop
)과 분리 이유에 대해 좀 더 깊이 이해할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.