해결된 질문
작성
·
202
0
선생님 안녕하세요! 시험이 다가오면서 헷갈리거나 저번에도 살짝 아리쏭했던 부분이 복습하면서 이해못한 부분이 명확해지면서 질문들이 많아졌는데 항상 자세히 알려주셔서 감사합니다 ㅠㅠㅎㅎ 오늘도 질문드립니다!!
1. X_train데이터와 y_train데이터가 나누어져서 제공받았을 때 이를 합쳐야 하는 경우가 무엇인가요? 그리고 만약 합친 경우 나중에 꼭 분리를 해야하나요?
2. 작업형 2를 진행할 때 결측치가 있을 시 행은 삭제하면 안되고, 컬럼은 train, test데이터 각각에 모두 삭제는 가능한 것 맞을까요?
3. count() 함수는 axis=0일 때 컬럼을 기준으로 세는 것이 맞나요? 원래라면 axis=0이 행을 기준으로 하는 것으로 알고있는데 count()는 반대인듯 해서요!
4. 데이터 피처 엔지니어링을 진행할 때 스케일링 시 X_train[cols]는 데이터 프레임 형태로 진행되는 것 맞을까요? 그렇다면 라벨인코딩에서는 for문을 사용하여 X_train[col]로 진행하는데 그러면 데이터 프레임이 아닌 시리즈 형태인것 아닌가요?? 이 부분이 헷갈려서 여쭤봅니다!
5. 만약 작업형 2에서 범주형 데이터가 1~2개만 있다면 수치형 데이터로만 모델을 평가도 해보고 범주형을 인코딩해서 다함께 평가 두가지를 모두 해보는게 좋을까요, 아니면 범주형 데이터가 있다면 인코딩을 했을 때를 무조건 해보는 것이 좋을까요?
6. describe에서 이상치가 눈에 보인다면 행을 삭제 못하는데 어떻게 해야하나요? 아예 그 컬럼을 삭제하는게 나을까요?
7. random_state값을 달리하면 평가지표도 다르게 나오던데 아무숫자나 고정해서 쓰면될까요? 모든 것에 random_state=0 이런식으로 고정해서요!
8. n_estimators는 max_depth를 안쓰고도 써도 되나요?
답변 1
1
1 대부분의 코드가 2개를 받았을 때로 연습하고 있어요!!! 따라서 3개가 나왔을 때 바로 2개로 만들어 줘서 혼란이 없게 하기 위함입니다.
2 네 컬럼삭제도 되고, train은 행삭제도 됩니다.
test만 행삭제는 안되요!! 100개를 예측하라고 문제가 출제됐는데 test 10개를 날려먹고 90개만 제출하면 0점입니다.
3 count() 함수는 기본적으로 axis=0 으로 합니다. 헷갈린다면 명시하는 것이 좋아요!
결과 값을 다시 데이터프레임에 대입을 하고 있어요! 그래서 데이터프레임으로 결과가 만들어 집니다.
5 인코딩 무조건 해야죠!!! 수치형만 사용하는 것인 정말 입문자한테만 권장합니다.
6 도메인 지식이 없는 이상 이상치라 판단하기 쉽지 않아요
train에서 튀는 값이 있더라도 test에도 있다면 이상치가 아닐 수도 있어요~
문제에서 이상치라 명시한 것이 아니라면, 확신이 들지 않는다면 처리하지 않는 것을 추천합니다.
7 네 맞습니다.
8 네 ,별개로 봐주세요!
화이팅입니다.
질문이 참 많았는데 하나하나 잘 설명해주셔서 감사합니다ㅜㅜ!!!