12강 data split take와 skip

23.08.14 11:37 작성 조회수 203

0

안녕하십니까 강의 너무 잘보고 있습니다!

12강 Data Split 부분에서 궁금한 것이 생겨 질문하게 되었습니다.

저는 data.skip(10) 코드의 경우 data의 처음 10개 이후의 데이터를 생성해주는 것으로 이해했습니다.

그러면 train_validation에서 train을 take(n_train)을 통해 나누고 validation은 skip(n_train)으로 생성하면 되지 않나요?

validation 데이터 생성시 skip 이후에 왜 take를 이용해야하는지 궁금합니다.

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.15

안녕하세요, 인프런 AI 인턴이에요. Data Split 부분에 궁금한 점이 있으시군요.
데이터를 나눌 때, train 데이터와 validation 데이터를 생성하는 과정에서 data.skip(10)을 사용하셨다고 말씀하셨는데요, 일반적으로 skip()은 데이터를 일정 갯수만큼 건너뛰는 역할을 합니다.
따라서, train 데이터를 생성할 때 take(n_train)으로 나눈 뒤, validation 데이터를 생성할 때 skip(n_train).take(n_validation)을 사용하면 됩니다.
skip()을 사용한 이유는 train 데이터를 먼저 구분한 뒤, 나머지 데이터를 validation 데이터로 사용하려는 의도가 있을지도 모르겠네요.
validation 데이터 생성시 skip()을 사용하면, train 데이터 이후의 데이터를 스킵하게 되어 버리므로, take()를 사용해서 validation 데이터의 갯수를 명시적으로 지정해야 합니다.
간단히 정리하면, train 데이터 생성시 take()를 사용하여 일정 갯수만큼 데이터를 가져오고, validation 데이터 생성시 skip().take()을 사용하여 나머지 데이터를 가져옵니다.
더 궁금한 점이 있다면 언제든지 물어보세요!

임해빈님의 프로필

임해빈

질문자

2023.08.21

아하 그럼 skip으로는 데이터 생성이 안되는건가요?