[회귀] 자동차 가격 예측 AI 경진대회 (1) - 데이터 불러오기, 간단 EDA
데이콘 Basic 자동차 가격 예측 AI 경진대회 https://dacon.io/competitions/official/236114/overview/description 자동차 가격을 예측하는 AI 알고리즘 개발 자동차 생산년도, 브랜드, 종류 등 자동차와 관련된 데이
jaayy.tistory.com
- AutoGluon은 다양한 알고리즘으로, customized parameter 범위 내에서 최적의 알고리즘을 select해주는 기법이다
- 각 알고리즘별 tuning parameter들을 세팅할 수 있는데, 하이퍼 파라미터에 대한 customize는 GBM, NN, RF, CAT에서만 가능하다
In [17]:
!pip install autogluon
Requirement already satisfied: autogluon in /usr/local/lib/python3.10/dist-packages (0.8.2)
Requirement already satisfied: autogluon.core[all]==0.8.2 in /usr/local/lib/python3.10/dist-packages (from autogluon) (0.8.2)
Requirement already satisfied: autogluon.features==0.8.2 in /usr/local/lib/python3.10/dist-packages (from autogluon) (0.8.2)
Requirement already satisfied: autogluon.tabular[all]==0.8.2 in /usr/local/lib/python3.10/dist-packages (from autogluon) (0.8.2)
Requirement already satisfied: autogluon.multimodal==0.8.2 in /usr/local/lib/python3.10/dist-packages (from autogluon) (0.8.2)
Requirement already satisfied: autogluon.timeseries[all]==0.8.2 in /usr/local/lib/python3.10/dist-packages (from autogluon) (0.8.2)
Requirement already satisfied: numpy<1.27,>=1.21 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.22.4)
Requirement already satisfied: scipy<1.12,>=1.5.4 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.10.1)
Requirement already satisfied: scikit-learn<1.3,>=1.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.2.2)
Requirement already satisfied: networkx<4,>=3.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (3.1)
Requirement already satisfied: pandas<1.6,>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.5.3)
Requirement already satisfied: tqdm<5,>=4.38 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (4.65.0)
Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (2.27.1)
Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (3.7.1)
Requirement already satisfied: boto3<2,>=1.10 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.26.165)
Requirement already satisfied: autogluon.common==0.8.2 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (0.8.2)
Requirement already satisfied: hyperopt<0.2.8,>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (0.2.7)
Requirement already satisfied: ray[default]<2.4,>=2.3 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (2.3.1)
Requirement already satisfied: pydantic<2.0,>=1.10.4 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.10.9)
Requirement already satisfied: grpcio<=1.50.0,>=1.42.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.core[all]==0.8.2->autogluon) (1.50.0)
Requirement already satisfied: Pillow<9.6,>=9.3 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (9.5.0)
Requirement already satisfied: jsonschema<4.18,>=4.14 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (4.17.3)
Requirement already satisfied: seqeval<1.3.0,>=1.2.2 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (1.2.2)
Requirement already satisfied: evaluate<0.4.0,>=0.2.2 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.3.0)
Requirement already satisfied: accelerate<0.17,>=0.9 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.16.0)
Requirement already satisfied: timm<0.10.0,>=0.9.2 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.9.2)
Requirement already satisfied: torch<1.14,>=1.9 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (1.13.1)
Requirement already satisfied: torchvision<0.15.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.14.1)
Requirement already satisfied: scikit-image<0.20.0,>=0.19.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.19.3)
Requirement already satisfied: pytorch-lightning<1.10.0,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (1.9.5)
Requirement already satisfied: text-unidecode<1.4,>=1.3 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (1.3)
Requirement already satisfied: torchmetrics<0.12.0,>=0.11.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.11.4)
Requirement already satisfied: transformers[sentencepiece]<4.27.0,>=4.23.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (4.26.1)
Requirement already satisfied: nptyping<2.5.0,>=1.4.4 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (2.4.1)
Requirement already satisfied: omegaconf<2.3.0,>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (2.2.3)
Requirement already satisfied: pytorch-metric-learning<2.0,>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (1.7.3)
Requirement already satisfied: nlpaug<1.2.0,>=1.1.10 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (1.1.11)
Requirement already satisfied: nltk<4.0.0,>=3.4.5 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (3.8.1)
Requirement already satisfied: openmim<0.4.0,>=0.3.7 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.3.9)
Requirement already satisfied: defusedxml<0.7.2,>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.7.1)
Requirement already satisfied: jinja2<3.2,>=3.0.3 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (3.1.2)
Requirement already satisfied: tensorboard<3,>=2.9 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (2.12.3)
Requirement already satisfied: pytesseract<0.3.11,>=0.3.9 in /usr/local/lib/python3.10/dist-packages (from autogluon.multimodal==0.8.2->autogluon) (0.3.10)
Requirement already satisfied: lightgbm<3.4,>=3.3 in /usr/local/lib/python3.10/dist-packages (from autogluon.tabular[all]==0.8.2->autogluon) (3.3.5)
Requirement already satisfied: xgboost<1.8,>=1.6 in /usr/local/lib/python3.10/dist-packages (from autogluon.tabular[all]==0.8.2->autogluon) (1.7.6)
Requirement already satisfied: fastai<2.8,>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.tabular[all]==0.8.2->autogluon) (2.7.12)
Requirement already satisfied: catboost<1.3,>=1.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.tabular[all]==0.8.2->autogluon) (1.2)
Requirement already satisfied: joblib<2,>=1.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.timeseries[all]==0.8.2->autogluon) (1.2.0)
Requirement already satisfied: statsmodels<0.15,>=0.13.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.timeseries[all]==0.8.2->autogluon) (0.13.5)
Requirement already satisfied: gluonts<0.14,>=0.13.1 in /usr/local/lib/python3.10/dist-packages (from autogluon.timeseries[all]==0.8.2->autogluon) (0.13.2)
Requirement already satisfied: statsforecast<1.5,>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.timeseries[all]==0.8.2->autogluon) (1.4.0)
Requirement already satisfied: mlforecast<0.7.4,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from autogluon.timeseries[all]==0.8.2->autogluon) (0.7.3)
Requirement already satisfied: ujson<6,>=5 in /usr/local/lib/python3.10/dist-packages (from autogluon.timeseries[all]==0.8.2->autogluon) (5.8.0)
Requirement already satisfied: psutil<6,>=5.7.3 in /usr/local/lib/python3.10/dist-packages (from autogluon.common==0.8.2->autogluon.core[all]==0.8.2->autogluon) (5.9.5)
Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from autogluon.common==0.8.2->autogluon.core[all]==0.8.2->autogluon) (67.7.2)
Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from accelerate<0.17,>=0.9->autogluon.multimodal==0.8.2->autogluon) (23.1)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from accelerate<0.17,>=0.9->autogluon.multimodal==0.8.2->autogluon) (6.0)
Requirement already satisfied: botocore<1.30.0,>=1.29.165 in /usr/local/lib/python3.10/dist-packages (from boto3<2,>=1.10->autogluon.core[all]==0.8.2->autogluon) (1.29.165)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from boto3<2,>=1.10->autogluon.core[all]==0.8.2->autogluon) (1.0.1)
Requirement already satisfied: s3transfer<0.7.0,>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from boto3<2,>=1.10->autogluon.core[all]==0.8.2->autogluon) (0.6.1)
Requirement already satisfied: graphviz in /usr/local/lib/python3.10/dist-packages (from catboost<1.3,>=1.1->autogluon.tabular[all]==0.8.2->autogluon) (0.20.1)
Requirement already satisfied: plotly in /usr/local/lib/python3.10/dist-packages (from catboost<1.3,>=1.1->autogluon.tabular[all]==0.8.2->autogluon) (5.13.1)
Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from catboost<1.3,>=1.1->autogluon.tabular[all]==0.8.2->autogluon) (1.16.0)
Requirement already satisfied: datasets>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (2.13.1)
Requirement already satisfied: dill in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (0.3.6)
Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (3.2.0)
Requirement already satisfied: multiprocess in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (0.70.14)
Requirement already satisfied: fsspec[http]>=2021.05.0 in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (2023.6.0)
Requirement already satisfied: huggingface-hub>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (0.15.1)
Requirement already satisfied: responses<0.19 in /usr/local/lib/python3.10/dist-packages (from evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (0.18.0)
Requirement already satisfied: pip in /usr/local/lib/python3.10/dist-packages (from fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (23.1.2)
Requirement already satisfied: fastdownload<2,>=0.0.5 in /usr/local/lib/python3.10/dist-packages (from fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (0.0.7)
Requirement already satisfied: fastcore<1.6,>=1.5.29 in /usr/local/lib/python3.10/dist-packages (from fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (1.5.29)
Requirement already satisfied: fastprogress>=0.2.4 in /usr/local/lib/python3.10/dist-packages (from fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (1.0.3)
Requirement already satisfied: spacy<4 in /usr/local/lib/python3.10/dist-packages (from fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (3.5.3)
Requirement already satisfied: toolz~=0.10 in /usr/local/lib/python3.10/dist-packages (from gluonts<0.14,>=0.13.1->autogluon.timeseries[all]==0.8.2->autogluon) (0.12.0)
Requirement already satisfied: typing-extensions~=4.0 in /usr/local/lib/python3.10/dist-packages (from gluonts<0.14,>=0.13.1->autogluon.timeseries[all]==0.8.2->autogluon) (4.6.3)
Requirement already satisfied: future in /usr/local/lib/python3.10/dist-packages (from hyperopt<0.2.8,>=0.2.7->autogluon.core[all]==0.8.2->autogluon) (0.18.3)
Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from hyperopt<0.2.8,>=0.2.7->autogluon.core[all]==0.8.2->autogluon) (2.2.1)
Requirement already satisfied: py4j in /usr/local/lib/python3.10/dist-packages (from hyperopt<0.2.8,>=0.2.7->autogluon.core[all]==0.8.2->autogluon) (0.10.9.7)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2<3.2,>=3.0.3->autogluon.multimodal==0.8.2->autogluon) (2.1.3)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.10/dist-packages (from jsonschema<4.18,>=4.14->autogluon.multimodal==0.8.2->autogluon) (23.1.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.10/dist-packages (from jsonschema<4.18,>=4.14->autogluon.multimodal==0.8.2->autogluon) (0.19.3)
Requirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (from lightgbm<3.4,>=3.3->autogluon.tabular[all]==0.8.2->autogluon) (0.40.0)
Requirement already satisfied: numba in /usr/local/lib/python3.10/dist-packages (from mlforecast<0.7.4,>=0.7.0->autogluon.timeseries[all]==0.8.2->autogluon) (0.56.4)
Requirement already satisfied: window-ops in /usr/local/lib/python3.10/dist-packages (from mlforecast<0.7.4,>=0.7.0->autogluon.timeseries[all]==0.8.2->autogluon) (0.0.14)
Requirement already satisfied: gdown>=4.0.0 in /usr/local/lib/python3.10/dist-packages (from nlpaug<1.2.0,>=1.1.10->autogluon.multimodal==0.8.2->autogluon) (4.6.6)
Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from nltk<4.0.0,>=3.4.5->autogluon.multimodal==0.8.2->autogluon) (8.1.3)
Requirement already satisfied: regex>=2021.8.3 in /usr/local/lib/python3.10/dist-packages (from nltk<4.0.0,>=3.4.5->autogluon.multimodal==0.8.2->autogluon) (2022.10.31)
Requirement already satisfied: antlr4-python3-runtime==4.9.* in /usr/local/lib/python3.10/dist-packages (from omegaconf<2.3.0,>=2.1.1->autogluon.multimodal==0.8.2->autogluon) (4.9.3)
Requirement already satisfied: colorama in /usr/local/lib/python3.10/dist-packages (from openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (0.4.6)
Requirement already satisfied: model-index in /usr/local/lib/python3.10/dist-packages (from openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (0.1.11)
Requirement already satisfied: opendatalab in /usr/local/lib/python3.10/dist-packages (from openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (0.0.9)
Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (13.4.2)
Requirement already satisfied: tabulate in /usr/local/lib/python3.10/dist-packages (from openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (0.8.10)
Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas<1.6,>=1.4.1->autogluon.core[all]==0.8.2->autogluon) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<1.6,>=1.4.1->autogluon.core[all]==0.8.2->autogluon) (2022.7.1)
Requirement already satisfied: lightning-utilities>=0.6.0.post0 in /usr/local/lib/python3.10/dist-packages (from pytorch-lightning<1.10.0,>=1.9.0->autogluon.multimodal==0.8.2->autogluon) (0.9.0)
Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (3.12.2)
Requirement already satisfied: msgpack<2.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.0.5)
Requirement already satisfied: protobuf!=3.19.5,>=3.15.3 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (3.20.2)
Requirement already satisfied: aiosignal in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.3.1)
Requirement already satisfied: frozenlist in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.3.3)
Requirement already satisfied: virtualenv>=20.0.24 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (20.23.1)
Requirement already satisfied: aiohttp>=3.7 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (3.8.4)
Requirement already satisfied: aiohttp-cors in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.7.0)
Requirement already satisfied: colorful in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.5.5)
Requirement already satisfied: py-spy>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.3.14)
Requirement already satisfied: gpustat>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.1)
Requirement already satisfied: opencensus in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.11.2)
Requirement already satisfied: prometheus-client>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.17.0)
Requirement already satisfied: smart-open in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (6.3.0)
Requirement already satisfied: tensorboardX>=1.9 in /usr/local/lib/python3.10/dist-packages (from ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (2.6)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->autogluon.core[all]==0.8.2->autogluon) (1.26.16)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->autogluon.core[all]==0.8.2->autogluon) (2023.5.7)
Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from requests->autogluon.core[all]==0.8.2->autogluon) (2.0.12)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->autogluon.core[all]==0.8.2->autogluon) (3.4)
Requirement already satisfied: imageio>=2.4.1 in /usr/local/lib/python3.10/dist-packages (from scikit-image<0.20.0,>=0.19.1->autogluon.multimodal==0.8.2->autogluon) (2.25.1)
Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.10/dist-packages (from scikit-image<0.20.0,>=0.19.1->autogluon.multimodal==0.8.2->autogluon) (2023.4.12)
Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-image<0.20.0,>=0.19.1->autogluon.multimodal==0.8.2->autogluon) (1.4.1)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<1.3,>=1.0->autogluon.core[all]==0.8.2->autogluon) (3.1.0)
Requirement already satisfied: patsy>=0.5.2 in /usr/local/lib/python3.10/dist-packages (from statsmodels<0.15,>=0.13.0->autogluon.timeseries[all]==0.8.2->autogluon) (0.5.3)
Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.10/dist-packages (from tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (1.4.0)
Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (2.17.3)
Requirement already satisfied: google-auth-oauthlib<1.1,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (1.0.0)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (3.4.3)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (0.7.1)
Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (2.3.6)
Requirement already satisfied: safetensors in /usr/local/lib/python3.10/dist-packages (from timm<0.10.0,>=0.9.2->autogluon.multimodal==0.8.2->autogluon) (0.3.1)
Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in /usr/local/lib/python3.10/dist-packages (from torch<1.14,>=1.9->autogluon.multimodal==0.8.2->autogluon) (11.7.99)
Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in /usr/local/lib/python3.10/dist-packages (from torch<1.14,>=1.9->autogluon.multimodal==0.8.2->autogluon) (8.5.0.96)
Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in /usr/local/lib/python3.10/dist-packages (from torch<1.14,>=1.9->autogluon.multimodal==0.8.2->autogluon) (11.10.3.66)
Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in /usr/local/lib/python3.10/dist-packages (from torch<1.14,>=1.9->autogluon.multimodal==0.8.2->autogluon) (11.7.99)
Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.10/dist-packages (from transformers[sentencepiece]<4.27.0,>=4.23.0->autogluon.multimodal==0.8.2->autogluon) (0.13.3)
Requirement already satisfied: sentencepiece!=0.1.92,>=0.1.91 in /usr/local/lib/python3.10/dist-packages (from transformers[sentencepiece]<4.27.0,>=4.23.0->autogluon.multimodal==0.8.2->autogluon) (0.1.99)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->autogluon.core[all]==0.8.2->autogluon) (1.1.0)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->autogluon.core[all]==0.8.2->autogluon) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->autogluon.core[all]==0.8.2->autogluon) (4.40.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->autogluon.core[all]==0.8.2->autogluon) (1.4.4)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->autogluon.core[all]==0.8.2->autogluon) (3.1.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp>=3.7->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (6.0.4)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.10/dist-packages (from aiohttp>=3.7->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (4.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp>=3.7->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.9.2)
Requirement already satisfied: pyarrow>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets>=2.0.0->evaluate<0.4.0,>=0.2.2->autogluon.multimodal==0.8.2->autogluon) (9.0.0)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.10/dist-packages (from gdown>=4.0.0->nlpaug<1.2.0,>=1.1.10->autogluon.multimodal==0.8.2->autogluon) (4.11.2)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (5.3.1)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (0.3.0)
Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (4.9)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<1.1,>=0.5->tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (1.3.1)
Requirement already satisfied: nvidia-ml-py>=11.450.129 in /usr/local/lib/python3.10/dist-packages (from gpustat>=1.0.0->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (11.525.131)
Requirement already satisfied: blessed>=1.17.1 in /usr/local/lib/python3.10/dist-packages (from gpustat>=1.0.0->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.20.0)
Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.10/dist-packages (from numba->mlforecast<0.7.4,>=0.7.0->autogluon.timeseries[all]==0.8.2->autogluon) (0.39.1)
Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (3.0.12)
Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (1.0.4)
Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (1.0.9)
Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (2.0.7)
Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (3.0.8)
Requirement already satisfied: thinc<8.2.0,>=8.1.8 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (8.1.10)
Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (1.1.2)
Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (2.4.6)
Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (2.0.8)
Requirement already satisfied: typer<0.8.0,>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (0.7.0)
Requirement already satisfied: pathy>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (0.10.2)
Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /usr/local/lib/python3.10/dist-packages (from spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (3.3.0)
Requirement already satisfied: distlib<1,>=0.3.6 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.0.24->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.3.6)
Requirement already satisfied: platformdirs<4,>=3.5.1 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.0.24->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (3.7.0)
Requirement already satisfied: ordered-set in /usr/local/lib/python3.10/dist-packages (from model-index->openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (4.1.0)
Requirement already satisfied: opencensus-context>=0.1.3 in /usr/local/lib/python3.10/dist-packages (from opencensus->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.1.3)
Requirement already satisfied: google-api-core<3.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from opencensus->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (2.11.1)
Requirement already satisfied: pycryptodome in /usr/local/lib/python3.10/dist-packages (from opendatalab->openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (3.18.0)
Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly->catboost<1.3,>=1.1->autogluon.tabular[all]==0.8.2->autogluon) (8.2.2)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (3.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (2.14.0)
Requirement already satisfied: wcwidth>=0.1.4 in /usr/local/lib/python3.10/dist-packages (from blessed>=1.17.1->gpustat>=1.0.0->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (0.2.6)
Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in /usr/local/lib/python3.10/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[default]<2.4,>=2.3->autogluon.core[all]==0.8.2->autogluon) (1.59.1)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->openmim<0.4.0,>=0.3.7->autogluon.multimodal==0.8.2->autogluon) (0.1.2)
Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (0.5.0)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<1.1,>=0.5->tensorboard<3,>=2.9->autogluon.multimodal==0.8.2->autogluon) (3.2.2)
Requirement already satisfied: blis<0.8.0,>=0.7.8 in /usr/local/lib/python3.10/dist-packages (from thinc<8.2.0,>=8.1.8->spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (0.7.9)
Requirement already satisfied: confection<1.0.0,>=0.0.1 in /usr/local/lib/python3.10/dist-packages (from thinc<8.2.0,>=8.1.8->spacy<4->fastai<2.8,>=2.3.1->autogluon.tabular[all]==0.8.2->autogluon) (0.0.4)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.10/dist-packages (from beautifulsoup4->gdown>=4.0.0->nlpaug<1.2.0,>=1.1.10->autogluon.multimodal==0.8.2->autogluon) (2.4.1)
Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /usr/local/lib/python3.10/dist-packages (from requests->autogluon.core[all]==0.8.2->autogluon) (1.7.1)
In [18]:
#TabularData(정형데이터)를 다루기 때문에 아래 라이브러리 호출
from autogluon.tabular import TabularDataset, TabularPredictor
import autogluon.core as ag
학습하기
- autogluon 내부에는 여러가지 모델을 알아서 비교해주고 코드로 구현하기 쉬움
In [19]:
train = train.drop('ID', axis=1)
test = test.drop('ID', axis=1)
In [20]:
#autogluon 학습을 위한 데이터 형태로 변환
train = TabularDataset(train)
test = TabularDataset(test)
In [21]:
predictor = TabularPredictor(label='가격',
problem_type='regression',
eval_metric='mae').fit(train)
No path specified. Models will be saved in: "AutogluonModels/ag-20230703_041124/"
Beginning AutoGluon training ...
AutoGluon will save models to "AutogluonModels/ag-20230703_041124/"
AutoGluon Version: 0.8.2
Python Version: 3.10.12
Operating System: Linux
Platform Machine: x86_64
Platform Version: #1 SMP Sat Apr 29 09:15:28 UTC 2023
Disk Space Avail: 82.05 GB / 115.66 GB (70.9%)
Train Data Rows: 57920
Train Data Columns: 13
Label Column: 가격
Preprocessing data ...
Using Feature Generators to preprocess the data ...
Fitting AutoMLPipelineFeatureGenerator...
Available Memory: 12128.82 MB
Train Data (Original) Memory Usage: 18.35 MB (0.2% of available memory)
Inferring data type of each feature based on column values. Set feature_metadata_in to manually specify special dtypes of the features.
Stage 1 Generators:
Fitting AsTypeFeatureGenerator...
Note: Converting 5 features to boolean dtype as they only contain 2 unique values.
Stage 2 Generators:
Fitting FillNaFeatureGenerator...
Stage 3 Generators:
Fitting IdentityFeatureGenerator...
Fitting CategoryFeatureGenerator...
Fitting CategoryMemoryMinimizeFeatureGenerator...
Stage 4 Generators:
Fitting DropUniqueFeatureGenerator...
Stage 5 Generators:
Fitting DropDuplicatesFeatureGenerator...
Types of features in original data (raw dtype, special dtypes):
('int', []) : 9 | ['생산년도', '모델출시년도', '주행거리', '배기량', '압축천연가스(CNG)', ...]
('object', []) : 4 | ['브랜드', '차량모델명', '판매도시', '판매구역']
Types of features in processed data (raw dtype, special dtypes):
('category', []) : 4 | ['브랜드', '차량모델명', '판매도시', '판매구역']
('int', []) : 4 | ['생산년도', '모델출시년도', '주행거리', '배기량']
('int', ['bool']) : 5 | ['압축천연가스(CNG)', '경유', '가솔린', '하이브리드', '액화석유가스(LPG)']
1.8s = Fit runtime
13 features in original data used to generate 13 features in processed data.
Train Data (Processed) Memory Usage: 2.49 MB (0.0% of available memory)
Data preprocessing and feature engineering runtime = 1.95s ...
AutoGluon will gauge predictive performance using evaluation metric: 'mean_absolute_error'
This metric's sign has been flipped to adhere to being higher_is_better. The metric score can be multiplied by -1 to get the metric value.
To change this, specify the eval_metric parameter of Predictor()
Automatically generating train/validation split with holdout_frac=0.043162983425414365, Train Rows: 55420, Val Rows: 2500
User-specified model hyperparameters to be fit:
{
'NN_TORCH': {},
'GBM': [{'extra_trees': True, 'ag_args': {'name_suffix': 'XT'}}, {}, 'GBMLarge'],
'CAT': {},
'XGB': {},
'FASTAI': {},
'RF': [{'criterion': 'gini', 'ag_args': {'name_suffix': 'Gini', 'problem_types': ['binary', 'multiclass']}}, {'criterion': 'entropy', 'ag_args': {'name_suffix': 'Entr', 'problem_types': ['binary', 'multiclass']}}, {'criterion': 'squared_error', 'ag_args': {'name_suffix': 'MSE', 'problem_types': ['regression', 'quantile']}}],
'XT': [{'criterion': 'gini', 'ag_args': {'name_suffix': 'Gini', 'problem_types': ['binary', 'multiclass']}}, {'criterion': 'entropy', 'ag_args': {'name_suffix': 'Entr', 'problem_types': ['binary', 'multiclass']}}, {'criterion': 'squared_error', 'ag_args': {'name_suffix': 'MSE', 'problem_types': ['regression', 'quantile']}}],
'KNN': [{'weights': 'uniform', 'ag_args': {'name_suffix': 'Unif'}}, {'weights': 'distance', 'ag_args': {'name_suffix': 'Dist'}}],
}
Fitting 11 L1 models ...
Fitting model: KNeighborsUnif ...
-17.3847 = Validation score (-mean_absolute_error)
6.35s = Training runtime
0.07s = Validation runtime
Fitting model: KNeighborsDist ...
-16.7037 = Validation score (-mean_absolute_error)
0.18s = Training runtime
0.08s = Validation runtime
Fitting model: LightGBMXT ...
[1000] valid_set's l1: 5.90157
[2000] valid_set's l1: 5.84195
-5.8317 = Validation score (-mean_absolute_error)
26.23s = Training runtime
1.05s = Validation runtime
Fitting model: LightGBM ...
[1000] valid_set's l1: 5.84017
-5.8322 = Validation score (-mean_absolute_error)
7.02s = Training runtime
0.41s = Validation runtime
Fitting model: RandomForestMSE ...
-6.0118 = Validation score (-mean_absolute_error)
97.68s = Training runtime
0.78s = Validation runtime
Fitting model: CatBoost ...
-5.8151 = Validation score (-mean_absolute_error)
1128.54s = Training runtime
0.85s = Validation runtime
Fitting model: ExtraTreesMSE ...
-6.0009 = Validation score (-mean_absolute_error)
41.0s = Training runtime
0.73s = Validation runtime
Fitting model: NeuralNetFastAI ...
-6.0808 = Validation score (-mean_absolute_error)
138.01s = Training runtime
0.08s = Validation runtime
Fitting model: XGBoost ...
-5.9248 = Validation score (-mean_absolute_error)
90.91s = Training runtime
0.95s = Validation runtime
Fitting model: NeuralNetTorch ...
-6.369 = Validation score (-mean_absolute_error)
124.29s = Training runtime
0.05s = Validation runtime
Fitting model: LightGBMLarge ...
[1000] valid_set's l1: 5.65789
-5.6526 = Validation score (-mean_absolute_error)
14.77s = Training runtime
1.22s = Validation runtime
Fitting model: WeightedEnsemble_L2 ...
-5.4953 = Validation score (-mean_absolute_error)
0.78s = Training runtime
0.0s = Validation runtime
AutoGluon training complete, total runtime = 1703.68s ... Best model: "WeightedEnsemble_L2"
TabularPredictor saved. To load, use: predictor = TabularPredictor.load("AutogluonModels/ag-20230703_041124/")
In [27]:
#predictor의 summary값 확인
results = predictor.fit_summary()
*** Summary of fit() ***
Estimated performance of each model:
model score_val pred_time_val fit_time pred_time_val_marginal fit_time_marginal stack_level can_infer fit_order
0 WeightedEnsemble_L2 -5.495345 4.660031 1635.963700 0.001131 0.779660 2 True 12
1 LightGBMLarge -5.652586 1.224401 14.770763 1.224401 14.770763 1 True 11
2 CatBoost -5.815062 0.850227 1128.538806 0.850227 1128.538806 1 True 6
3 LightGBMXT -5.831700 1.049686 26.232757 1.049686 26.232757 1 True 3
4 LightGBM -5.832224 0.414197 7.016816 0.414197 7.016816 1 True 4
5 XGBoost -5.924753 0.952236 90.906208 0.952236 90.906208 1 True 9
6 ExtraTreesMSE -6.000862 0.730689 40.998093 0.730689 40.998093 1 True 7
7 RandomForestMSE -6.011757 0.775243 97.677653 0.775243 97.677653 1 True 5
8 NeuralNetFastAI -6.080845 0.079530 138.006784 0.079530 138.006784 1 True 8
9 NeuralNetTorch -6.368998 0.046575 124.285734 0.046575 124.285734 1 True 10
10 KNeighborsDist -16.703670 0.078764 0.180185 0.078764 0.180185 1 True 2
11 KNeighborsUnif -17.384714 0.072684 6.350637 0.072684 6.350637 1 True 1
Number of models trained: 12
Types of models trained:
{'WeightedEnsembleModel', 'LGBModel', 'XTModel', 'TabularNeuralNetTorchModel', 'XGBoostModel', 'RFModel', 'KNNModel', 'NNFastAiTabularModel', 'CatBoostModel'}
Bagging used: False
Multi-layer stack-ensembling used: False
Feature Metadata (Processed):
(raw dtype, special dtypes):
('category', []) : 4 | ['브랜드', '차량모델명', '판매도시', '판매구역']
('int', []) : 4 | ['생산년도', '모델출시년도', '주행거리', '배기량']
('int', ['bool']) : 5 | ['압축천연가스(CNG)', '경유', '가솔린', '하이브리드', '액화석유가스(LPG)']
Plot summary of models saved to file: AutogluonModels/ag-20230703_041124/SummaryOfModels.html
*** End of fit() summary ***
In [22]:
#위와 같은 정보를 리더보드로 확인
ld_board = predictor.leaderboard(train, silent=True)
ld_board
Out[22]:
model | score_test | score_val | pred_time_test | pred_time_val | fit_time | pred_time_test_marginal | pred_time_val_marginal | fit_time_marginal | stack_level | can_infer | fit_order | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | KNeighborsDist | -1.113688 | -16.703670 | 0.709999 | 0.078764 | 0.180185 | 0.709999 | 0.078764 | 0.180185 | 1 | True | 2 |
1 | RandomForestMSE | -2.750212 | -6.011757 | 8.421520 | 0.775243 | 97.677653 | 8.421520 | 0.775243 | 97.677653 | 1 | True | 5 |
2 | ExtraTreesMSE | -3.049630 | -6.000862 | 9.992340 | 0.730689 | 40.998093 | 9.992340 | 0.730689 | 40.998093 | 1 | True | 7 |
3 | LightGBMLarge | -3.466650 | -5.652586 | 23.486255 | 1.224401 | 14.770763 | 23.486255 | 1.224401 | 14.770763 | 1 | True | 11 |
4 | WeightedEnsemble_L2 | -3.510822 | -5.495345 | 87.940834 | 4.660031 | 1635.963700 | 0.013026 | 0.001131 | 0.779660 | 2 | True | 12 |
5 | XGBoost | -3.931571 | -5.924753 | 25.156268 | 0.952236 | 90.906208 | 25.156268 | 0.952236 | 90.906208 | 1 | True | 9 |
6 | LightGBM | -4.395887 | -5.832224 | 12.172485 | 0.414197 | 7.016816 | 12.172485 | 0.414197 | 7.016816 | 1 | True | 4 |
7 | NeuralNetFastAI | -4.513795 | -6.080845 | 2.335398 | 0.079530 | 138.006784 | 2.335398 | 0.079530 | 138.006784 | 1 | True | 8 |
8 | LightGBMXT | -4.815487 | -5.831700 | 31.435905 | 1.049686 | 26.232757 | 31.435905 | 1.049686 | 26.232757 | 1 | True | 3 |
9 | CatBoost | -5.007776 | -5.815062 | 18.176280 | 0.850227 | 1128.538806 | 18.176280 | 0.850227 | 1128.538806 | 1 | True | 6 |
10 | NeuralNetTorch | -5.701318 | -6.368998 | 0.359748 | 0.046575 | 124.285734 | 0.359748 | 0.046575 | 124.285734 | 1 | True | 10 |
11 | KNeighborsUnif | -13.880928 | -17.384714 | 0.752758 | 0.072684 | 6.350637 | 0.752758 | 0.072684 | 6.350637 | 1 | True | 1 |
예측
In [29]:
#어떤 모델이 가장 성능이 좋았는지
model_to_use = predictor.get_model_best()
model_to_use
Out[29]:
'WeightedEnsemble_L2'
In [23]:
#가장 성능 좋은 모델로 예측
predictor = TabularPredictor.load("AutogluonModels/ag-20230703_041124/")
pred = predictor.predict(test, model=model_to_use)
In [24]:
pred
Out[24]:
0 92.595566
1 26.624863
2 87.392128
3 125.270287
4 46.227715
...
14475 40.767590
14476 23.771589
14477 107.951439
14478 51.633385
14479 43.190853
Name: 가격, Length: 14480, dtype: float32
In [26]:
submission = pd.read_csv('/content/sample_submission.csv')
submission['가격'] = pred
submission.to_csv('AutoGluon_submit.csv', index=False)
기간 끝난 대회로 연습해서 순위에 큰 의미는 없지만 public 21등을 할 정도로 성능이 뛰어남을 알 수 있다.
전처리 작업을 따로 하지 않아도 이 정도라 AutoML 라이브러리들을 앞으로 많이 쓰게 될 것 같다.
'Data Science > Dacon' 카테고리의 다른 글
[회귀] 데이콘 Basic 풍속 예측 AI 경진대회 (2) - 모델링 1~4(회귀 트리, 선형 회귀, AutoGluon) (0) | 2023.08.02 |
---|---|
[회귀] 데이콘 Basic 풍속 예측 AI 경진대회 (1) 데이터 로딩/탐색적 데이터분석/전처리(Data Loading/EDA/Preprocessing) (0) | 2023.08.02 |
[회귀] 자동차 가격 예측 AI 경진대회 (1) - 데이터 불러오기, 간단 EDA (0) | 2023.07.03 |
[회귀] 감귤 착과량 예측 AI 경진대회 (0) | 2023.06.14 |
[분류] 유전체 정보 품종 분류 AI 경진대회 (2) - AutoML을 이용한 모델링 3가지 (0) | 2023.06.13 |