해결된 질문
작성
·
705
1
안녕하세요 강사님 해당 강의를 듣던 도중 질문이 있어서 글 남깁니다.
라벨 인코딩 부분에서 cols = X_train.select_dtypes(include='object').columns
으로 표현하였는데
시험장에서는 그냥 info()를 통해 데이터타입 확인이후 object에 해당하는 컬럼들만 직접 수기로 입력해도 되나요?
ex) cols = ['Warehouse_block', 'Mode_of_Shipment', 'Product_importance', 'Gender']
라벨인코딩을 해야될때와 원핫인코딩을 해야될때 상황판단을 어떻게 하는지 궁금합니다. 그냥 매번 라벨인코딩만해도 무방할까요?
검증 데이터 분리시 test_size를 때에따라 0.1이나 0.2나 매번 바뀌는데 시험장에서는 성능이 더 좋은 test_size를 판단하기 위해 숫자를 바꿔가며 시도해봐야하나요? 그게 아니라면 그냥 test_size와 random_state는 0.1과 2023으로 해도 무방할지요
해당 강의와 마찬가지로 모델값들은 전부 같은 값이 나오는데 (0.7084055061812334, 0.6321275746145835, 0.7279225281811363, 0.7370938759652275)
이를 이용해 예측 및 제출에서 pred를 형성하면 array안의 확률값이 다르게 나옵니다. 이유가 있을까요?
강의에서 score가 0.7정도면 괜찮은 성능이라고 하셨는데요. 시험장에서 채점기준에서 만점과 부분점수를 맞는 기준이 성능차이인가요? 만약 성능을 내지 못하고 전처리까지만 하고 csv파일을 만들지 않았다면 이는 부분점수도 못받는걸까요??
한 질문에 여러가지 질문을 해서 죄송하게 생각합니다! 좋은 강의 감사드립니다
답변 1
1
네, 명확하고 확실한 방법입니다 :)
네, 라벨인코딩만 또는 원핫인코딩 하나만 하면 됩니다.
정해진건 따로 없어요 없고 개인적으로는 10개 이하면 원한인코딩을 고려해보고 (단, 카테고리가 골고루 있다는 조건) 10개가 넘어가면 라벨인코딩하고 있어요. 시험에서는 라벨인코딩으로만 해도 됩니다.
컴퓨터가 인식할 수 있는 데이터로 변경해주는 것이 중요한 부분이에요!! (성능차이는 크지 않을 것 같아요)
전체 데이터 수가 작으면 검증 데이터를 작게 가져가려고 했던 부분인데
시험 데이터 수를 알 수 없으니 지금 확정하긴 어렵지만 0.2정도가 일반적인 수준입니다.
random_state는 2023하시죠 :)
확률값은 다르게 나오는 것이 정상입니다 :) 모델에서 랜덤적인 요소가 있어요 !!
주최측에서 작업형2의 기준을 공개하지 않고 있어요! 따라서 데이터에 따라 0.6도 성능좋은 모델일 수도 있습니다. (알수가 없네요)
따라서 기준을 본인 베이스라인(초기 모델)을 기준으로 해주세요!
베이스라인을 1차 제출하고
약간의 전처리를 더해 베이스라인보다 성능이 개선되면 2차 제출하고 ... 이런 형태로 진행해주세요!
합격 응원합니다 :)
답변 감사합니다! 남은 기간 열심히 학습하겠습니다:)