Kaggle의 노트북에서 AutoGluon을 사용해보기
소개
아래의 기사를 읽고 이것을 참고로 Kaggle의 Notebook에서 AutoGluon(특히 AutoGluon-Tabular)을 사용해 보려고 했는데, 순조롭게는 할 수 없었습니다.
원인으로는 올해 AutoGluon 자체에 약간의 변경이 있었기 때문일 수 있습니다. 또 추천되는 이용 방법도 바뀐 것 같습니다. 거기서, 그 근처를 고려해, 「Kaggle의 Notebook에서 AutoGluon을 사용해 본다」라고 하는 곳까지를 실현했습니다. 작성한 Notebook의 소개와 실현하기 전에 발생한 에러·해결 방법을 비망록으로서 남겨 둡니다.
결론
다음과 같은 노트북을 만들었습니다
# https://github.com/awslabs/autogluon
!pip install --upgrade pip
!pip install --upgrade setuptools
!pip install --upgrade "mxnet<2.0.0"
!pip install autogluon.tabular
import pandas as pd
from autogluon.tabular import TabularDataset, TabularPredictor
train= TabularDataset('../input/titanic/train.csv')
test = TabularDataset('../input/titanic/test.csv')
label='Survived'
time_limit=60
predictor = TabularPredictor(label=label).fit(train, time_limit=time_limit)
submission = pd.read_csv('../input/titanic/gender_submission.csv')
submission[label] = predictor.predict(test)
submission.to_csv('submission.csv', index=False)
submission.head()
Public Score는 0.78229로 계산되어 원하는 구현이 된 것 같습니다! 간단! 놀라운!
그러나 조금 불안한 출력도 ... 일단 선반에 올립니다.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
earthengine-api 0.1.252 requires google-api-python-client>=1.12.1, but you have google-api-python-client 1.8.0 which is incompatible.
오류 및 해결 비망록
크게 이하 2점을 실시했습니다.
다음과 같은 노트북을 만들었습니다
# https://github.com/awslabs/autogluon
!pip install --upgrade pip
!pip install --upgrade setuptools
!pip install --upgrade "mxnet<2.0.0"
!pip install autogluon.tabular
import pandas as pd
from autogluon.tabular import TabularDataset, TabularPredictor
train= TabularDataset('../input/titanic/train.csv')
test = TabularDataset('../input/titanic/test.csv')
label='Survived'
time_limit=60
predictor = TabularPredictor(label=label).fit(train, time_limit=time_limit)
submission = pd.read_csv('../input/titanic/gender_submission.csv')
submission[label] = predictor.predict(test)
submission.to_csv('submission.csv', index=False)
submission.head()
Public Score는 0.78229로 계산되어 원하는 구현이 된 것 같습니다! 간단! 놀라운!
그러나 조금 불안한 출력도 ... 일단 선반에 올립니다.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
earthengine-api 0.1.252 requires google-api-python-client>=1.12.1, but you have google-api-python-client 1.8.0 which is incompatible.
오류 및 해결 비망록
크게 이하 2점을 실시했습니다.
먼저 Google Colab에서 최신 성공 사례를 사용해 보았습니다. 이전에 쓴 이하 2건의 기사에서도 소개한 코드입니다.
이것은 참고 기사가 공개되어 이후의 AutoGluon의 변경점을 고려한 것입니다. 모듈 등이 다릅니다.
TabularDataset
, TabularPredictor
를 사용하기 위해 autogluon.tabular
를 가져옵니다. 이 코드를 모두 복사하여 실행해 보았지만 다음과 같은 오류가 발생했습니다.README를 참고로 한 명령입니다만 여기에 원인이 있을 것 같습니다.
!pip install --upgrade pip
!pip install --upgrade setuptools
!pip install --upgrade "mxnet<2.0.0"
!pip install --pre autogluon
from autogluon.tabular import TabularDataset, TabularPredictor
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-2-974358aaf144> in <module>
----> 1 from autogluon.tabular import TabularDataset, TabularPredictor
/opt/conda/lib/python3.7/site-packages/autogluon/tabular/__init__.py in <module>
1 import logging
2
----> 3 from autogluon.core.dataset import TabularDataset
4 from autogluon.core.features.feature_metadata import FeatureMetadata
5
/opt/conda/lib/python3.7/site-packages/autogluon/core/__init__.py in <module>
4 from .decorator import *
5 from .utils.files import *
----> 6 from .scheduler.resource.resource import *
7 from .scheduler.scheduler import *
8 from . import metrics
/opt/conda/lib/python3.7/site-packages/autogluon/core/scheduler/__init__.py in <module>
----> 1 from .import remote, resource
2 from .resource import get_cpu_count, get_gpu_count
3
4 # schedulers
5 from .scheduler import *
/opt/conda/lib/python3.7/site-packages/autogluon/core/scheduler/remote/__init__.py in <module>
1 # remotes
----> 2 from .remote import *
3 from .ssh_helper import *
4 from .remote_manager import *
/opt/conda/lib/python3.7/site-packages/autogluon/core/scheduler/remote/remote.py in <module>
9 from threading import Thread
10 import multiprocessing as mp
---> 11 from distributed import Client
12
13 from .ssh_helper import start_scheduler, start_worker
/opt/conda/lib/python3.7/site-packages/distributed/__init__.py in <module>
2 import dask
3 from dask.config import config
----> 4 from .actor import Actor, ActorFuture
5 from .core import connect, rpc, Status
6 from .deploy import LocalCluster, Adaptive, SpecCluster, SSHCluster
/opt/conda/lib/python3.7/site-packages/distributed/actor.py in <module>
4 from queue import Queue
5
----> 6 from .client import Future, default_client
7 from .protocol import to_serialize
8 from .utils import iscoroutinefunction, thread_state, sync
/opt/conda/lib/python3.7/site-packages/distributed/client.py in <module>
41 from tornado.ioloop import IOLoop, PeriodicCallback
42
---> 43 from .batched import BatchedSend
44 from .utils_comm import (
45 WrappedKey,
/opt/conda/lib/python3.7/site-packages/distributed/batched.py in <module>
6 from tornado.ioloop import IOLoop
7
----> 8 from .core import CommClosedError
9 from .utils import parse_timedelta
10
/opt/conda/lib/python3.7/site-packages/distributed/core.py in <module>
18 from tornado.ioloop import IOLoop, PeriodicCallback
19
---> 20 from .comm import (
21 connect,
22 listen,
/opt/conda/lib/python3.7/site-packages/distributed/comm/__init__.py in <module>
24
25
---> 26 _register_transports()
/opt/conda/lib/python3.7/site-packages/distributed/comm/__init__.py in _register_transports()
16 def _register_transports():
17 from . import inproc
---> 18 from . import tcp
19
20 try:
/opt/conda/lib/python3.7/site-packages/distributed/comm/tcp.py in <module>
15 import dask
16 from tornado import netutil
---> 17 from tornado.iostream import StreamClosedError
18 from tornado.tcpclient import TCPClient
19 from tornado.tcpserver import TCPServer
/opt/conda/lib/python3.7/site-packages/tornado/iostream.py in <module>
208
209
--> 210 class BaseIOStream(object):
211 """A utility class to write to and read from a non-blocking file or socket.
212
/opt/conda/lib/python3.7/site-packages/tornado/iostream.py in BaseIOStream()
284 self._closed = False
285
--> 286 def fileno(self) -> Union[int, ioloop._Selectable]:
287 """Returns the file descriptor for this stream."""
288 raise NotImplementedError()
AttributeError: module 'tornado.ioloop' has no attribute '_Selectable'
--pre
를 제거해 봅니다.
!pip install --upgrade pip
!pip install --upgrade setuptools
!pip install --upgrade "mxnet<2.0.0"
!pip install autogluon
from autogluon.tabular import TabularDataset, TabularPredictor
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-3-974358aaf144> in <module>
----> 1 from autogluon.tabular import TabularDataset, TabularPredictor
ModuleNotFoundError: No module named 'autogluon.tabular'
autogluon.tabular
가 없다고 말해졌습니다. 그렇다면 autogluon
→ autogluon.tabular
로 해 보면… 성공했습니다! 결국 다음과 같은 수정으로 해결했습니다.
!pip install --upgrade pip
!pip install --upgrade setuptools
!pip install --upgrade "mxnet<2.0.0"
!pip install autogluon.tabular
2021/02/26, Kaggle에서는
TabularDataset
여러가지 궁금합니다 요약
「Kaggle의 Notebook에서 AutoGluon을 사용해 본다」라고 하는 곳까지를 실현하기 위해서, 작성한 Notebook의 소개와, 실현하기까지 발생한 에러·해결 방법을 비망록으로서 기록했습니다. 2021/02/26에 한 대응이었습니다만, 앞으로도 이러한 에러가 발생할 우려는 있다고 생각하므로, 어디까지나 참고까지 해 주실 수 있으면 다행입니다. 계속해서 AutoGluon을 비롯한 AutoML을 점점 체험해 갑시다!
Reference
이 문제에 관하여(Kaggle의 노트북에서 AutoGluon을 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/daikikatsuragawa/items/504be60a24e46c524318
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kaggle의 노트북에서 AutoGluon을 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/daikikatsuragawa/items/504be60a24e46c524318텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)