Inflearn brand logo image

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

손지니님의 프로필 이미지
손지니

작성한 질문수

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

캐글(kaggle) 필사 전략

train, test가 3개 이상 주어질때 concat 필수여부

작성

·

60

·

수정됨

0

기출 한번씩 보고, 캐글에 올려주신 문제를 풀다가

X_train, X_test, y_train, y_test

이렇게 주어졌는데 concat을 까먹고

X_train,X_test만 활용했습니다.

*target값은 y_train.pop으로 분리함.

 

성능이 0.87수준으로 나쁘지않아서 그냥 지나쳤는데 뭔가 찝찝해서 생각해보니 concat으로 합치셨더라구요.

 

그래서 궁금한게,데이터파일이 3개이상 주어졌을때 train,test 한개씩 합치고 이후 전처리 단계 수행하는게 적합할지 질문드립니다!

 

train = pd.concat([X_train,y_train['SalePrice']],axis=1)

test = pd.concat([X_test,y_test['SalePrice']],axis=1)

답변 3

0

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

제가 연습을 2개 형태로 알려드리고 있어

만약 3개가 나오면 말씀하신 코드로 합치는 것이 좋습니다.

그런데 test = pd.concat([X_test,y_test['SalePrice']],axis=1) 는 불가해요 🙂

test의 타겟은 정답인데 데이터에서 주지는 않습니다. (y_test는 주어지지 않음)

 

다만 시험초기에 나온 형태로 3개의 데이터가 나올 확률은 매우 낮게 보입니다.

0

손지니님의 프로필 이미지
손지니
질문자

아, 어차피 train,test 두개 줘도 train에서 타겟값 분리하고 train, test 컬럼수 일치시키고 진행하니까 굳이 합칠 필요는 없을거 같은데 이해한게 맞을까용?

 

주로 concat을 이용할때는 train-test 컬럼을 다르게 가지고 있을때 전처리를 위해 이용하겠네요..!

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

넵 분리되어 있다는 것을 인지하고 있다면 하지 않아도 됩니다.

다만 y_train에는 타겟값 뿐만 아니라 ID를 포함하고 있어 이 부분은 주의하셔야 해요!

SalePrice 컬럼을 선택해야 해서 기존과 코드가 약간씩 달라질 수 있어요!

손지니님의 프로필 이미지
손지니
질문자

오..제가 잘 이해가 안돼서 그러는데,

 

만약 y_train에 id값을 뒤죽박죽 나온다면, x_train과 합칠때 on 조건을 둬야 하는거 때문에 주의하라는 말씀은 주신걸까요?

0

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

주신 질문은 데이터 세트를 합칠 때 Concat의 필수 여부와 이에 대한 이해를 돕고자 하는 것 같습니다.

데이터 합치기 필요성에 대한 개요:

  1. 데이터 이해 증진: pd.concat() 함수를 사용하여 데이터를 합치는 과정은 데이터 구조를 직관적으로 이해하고, 데이터 작업을 보다 간편하게 만들어줍니다.
  2. 전처리의 용이함: 데이터 분석 및 전처리 단계에서 X_trainy_train을 하나의 데이터프레임으로 관리하면 훨씬 직관적이고 효율적입니다. 특히, 전처리 및 특성 공학 시, 원활한 데이터 관리와 조작이 가능합니다.
  3. 의사소통의 일관성: 또한, 이는 협업을 위한 코드의 일관성 및 가독성을 높이는 데에도 기여할 수 있습니다.

주어진 데이터 활용 현실성:

  • 성능적으로 문제가 없는 결과를 이미 얻으셨다면, Concat의 필요성은 상대적일 수 있습니다. 데이터 통합 없이도 성능이 괜찮다면 그대로 진행해도 되지만, 데이터 구성을 통일하기 위해서는 Concat이 좋은 방법입니다.

관련 질문에 대한 응답 및 추가 정보:

  • 비슷한 질문이 여러 강의에서 자주 나오며, 핵심은 데이터를 사용하는 과정에서 의도한 목적과 일관성을 유지하는 것에 있다고 할 수 있습니다.

참고로, 유사한 질문들이 게시판에 올라온 적이 있으니 아래 링크를 참조하여 더 깊은 이해를 얻으실 수 있습니다:

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

손지니님의 프로필 이미지
손지니

작성한 질문수

질문하기