• 카테고리

    질문 & 답변
  • 세부 분야

    자격증 (데이터 사이언스)

  • 해결 여부

    해결됨

원핫 인코딩 후 분리

23.05.28 23:30 작성 23.05.28 23:31 수정 조회수 284

0

안녕하세요

섹션3. 피처 엔지니어링
원핫인코딩 후 iloc를 통해 train과 test를 분리할 때

line = int(X_train.shape[0]) 이 부분이 이해가 안 가요

왜 [0]이 train의 마지막 행을 의미하는 것인가요?

답변 1

답변을 작성해보세요.

0

하나씩 살펴보겠습니다.

  1. train.shape는 (행의 수, 열의 수)을 반환합니다.

  2. 여기서 shpae[0]는 행의 수 입니다. 만약 행(레코드)가 100개면 100이라는 숫자를 line에 담을 수 있어요!
    (마지막 행을 의미하는 것이 아니라 행의 수를 의미합니다.)

  3. train(100개)에 test(50개)를 더할 경우 합치면 150입니다.

  4. (순서를 섞지만 않는다는 가정) 다시 분리를 시켜야 하는데 위에 train행의 수는 위에서 계산한 대로 100개만 잘라내면 됩니다. train.shape[0]을 써도 되고 len()함수를 활용해 len(train)으로 계산해도 됩니다.

     

혹시 이해가 안되었다면 댓글 추가로 남겨주세요 :) 응원합니다!!

duddl님의 프로필

duddl

2023.06.08

안녕하세요! iloc 관련해서 추가 질문있어 댓글 남깁니다!!

캐글 연습문제 t1-23을보면 10번째값을 찾을때 iloc[9]로 하던데요 (찾을값-1)

여기서 iloc[line:, : ]로 나눈다고 하셨는데 <-이렇게 하면 test데이터의 첫줄까지 포함되는것 아닌가요..?

iloc 개념이 너무 이해가 안가네요ㅠㅠ

Iloc[시작인덱스:끝인덱스]

시작인덱스는 포함하는 것이 맞음

끝인덱스는포함하지 않아요(끝인덱스-1)

따라서test데이터의 첫줄을 포함하는 것이 맞습니다 :)

Iloc/loc가 헷갈린다면 판다스 iloc/loc부분 다시 한번 시청해 주세요 !!! 또 질문있으면 연락주세요