https://www.kaggle.com/competitions/playground-series-s4e8/overview
버섯의 생김새를 보고 이게 먹을 수 있는 버섯인지 '살아생전 한 번만 먹을 수 있는' 버섯인지를 구별하는 classification 문제다. (혼자 해보려다가 초반에는 다른 좋은 코드들을 보고 배우는 것이 우선이라 생각해서 똑똑이들의 코드를 분석할 거임)
https://www.kaggle.com/code/satyaprakashshukl/mushroom-classification-analysis
이 사람이 글을 잘 써서 이걸 뜯어볼 예정!
친절하게 귀여운 버섯 그림까지 가져왔다.
점수가 높길래 대단한 모델을 쓴 줄 알았는데 그냥 XGBoost나 lightGBM를 써서 신기했다. (아직은 잘 모르지만 모델 자체보다는 전처리가 더 중요한 것일까?!)
우선 데이터를 가져온다.
종속변수는 class이고, 나머지 21개 columns가 독립변수다.
근데 이게 값을 봐도 대체 뭐가 뭔지 (cap-surface가 t인게 무슨 뜻일까?) 모르니까 버섯 도메인 지식을 찾아봐야 하나 싶기도 하고,,
train과 test 둘 다 id column은 필요 없으니 지운다.
이제 train을 자세히 뜯어보자.
눈에 띄는 점은 없다.
categorical_columns를 따로 분리하자.
numeric 데이터와 categorical 데이터를 구분하는 이유는 두 데이터 유형이 머신러닝 모델에서 다르게 처리되기 때문이다.
numeric 데이터는 대부분의 모델에서 바로 사용할 수 있지만(경우에 따라 scaling이나 standardization은 필요),
categorical 데이터는 one-hot encoding이나 label encoding을 사용해 숫자로 변환해야 한다.
(특별히, decision tree는 categorical 데이터를 사용할 수 있다.)
(마지막에 garbage collector를 사용하는 이유는 데이터가 엄청 크기 때문이다.)
'분명 전산학부 졸업 했는데 코딩 개못하는 조준호 > AI, ML, DL' 카테고리의 다른 글
Kaggle Competition - Binary Prediction of Poisonous Mushrooms (3) EDA 시각화 (0) | 2024.09.02 |
---|---|
Kaggle Competition - Binary Prediction of Poisonous Mushrooms (2) EDA correlation matrix (0) | 2024.09.02 |
역시 ML의 시작은 타이타닉 - (5) hyperparameter 튜닝 (8) | 2024.07.24 |
역시 ML의 시작은 타이타닉 - (4) GBT 모델 뜯어보기 (3) | 2024.07.20 |
역시 ML의 시작은 타이타닉 - (3) 모델 만들고 학습시키고 평가하기 (7) | 2024.07.20 |
한국은행 들어갈 때까지만 합니다
조만간 티비에서 봅시다