데이터 분리
작업형2 에서 심장마비 확률 문제였는데요
여기서 데이터 전처리를 할때
X_train.drop('id' , axis =1)
X_test.pop('id)' 를 하고
데이터 분리할때 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)
이렇게 하신다고 했는데 위에서는 id를 드롭하고 분리할대는 'output'을 drop 하는건가요? 그리고 test는 왜 분리 하지 않는지 궁금합니다
답변 1
0
위에서는 id를 드롭하고 분리할 때는 'output'을 drop하는 건가요?
네, 맞습니다. id는 대부분의 경우 모델링에 필요하지 않은 정보이므로 삭제됩니다. output은 타겟 변수로써, X(피처)와 y(타겟)를 분리할 때 사용됩니다.
분리할 때가 아닌 미리 target을 변수에 담고, drop해도 됩니다.
target = train['output'] X_train = train.drop('output', axis=1) train_test_split(X_train, target)또는
target = train.pop('output')
train_test_split(X_train, target)
테스트 데이터는 왜 분리하지 않나요?
test데이터에는 target이 없습니다.
추가적으로
id값이 숫자라면 train, test 모두 제거하지 않아도 됩니다. 모델이 자동으로 중요도를 낮게 책정합니다.
문자라면 인코딩이 필요해 번거로워 삭제하는 것이 좋습니다.
단 여기서 말하는 id는 데이터 수가 100개일 때 100개 모두 다른 데이터를 가정하겠습니다.
test의 id는 문제에 따라 최종 제출 때 사용할 때가 있었습니다. (csv파일 생성 시) 따라서 pop을 활용해 다른 변수에 저장을 해뒀습니다. pop는 드랍 + 변수에 대입하는 2가지 기능이 있습니다.
0
target = train['output']
X_train = train.drop('output', axis=1) train_test_split(X_train, target)
만약에 이렇게 하면 ,,,X_train.drop('id' , axis =1)이거 대신에 위에 처럼 하는건가요?
id대신에 output를 drop,,,,인건가요??
8/6 작성한 연장문의 질문글에 대한 재요청
0
12
1
수강기간 연장 문의
0
11
1
수강기간 연장문의
0
8
1
수강기간 연장 요청 문의드립니다
0
12
1
수강 기간 연장 문의
0
33
1
수강연장 가능 문의 (기간 약 한달반)
0
52
2
수강기간 연장 가능할까요 선생님
0
69
2
Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.
0
47
3
수강연장요청 문의
0
80
2
아무래도 다음 시험 연장은 어렵겠죠?
0
101
2
빅분기 12회 결과 관련 문의
0
104
1
책이랑 강의랑 순서나 예제가 다른것 같네요
0
76
2
수강연장 문의
0
102
2
재검토 요청 방법 좀 알려주셔요...-.-;;
0
100
2
12회 실기 질문(작업형 2)
0
88
2
뒤로가기 버튼 같은 것이 있나요?
0
61
1
강의 연장 문의
0
93
2
출력값 질문
0
69
2
수업노트가 어디에 있나요?
0
59
1
실기시험 제출관련
0
222
3
6.20 작업형 2 과적합
0
227
3
코딩팡 장업형2 베이스 라인 인코딩 종류 질문
0
84
2
로지스틱회귀, 회귀
0
76
2
회귀 문제를 풀때 질문입니다.
0
79
1





