[PYTHON] Essayez d'utiliser AWS SageMaker Studio

introduction

Il y a environ une semaine, j'ai écrit un article N raisons de recommander Jupyter Lab au lieu de Jupyter. Sur une note complètement différente, un produit appelé SageMaker Studio a été annoncé lors d'un événement appelé re: Invent lors du lancement du nouveau produit d'AWS. Il semble que vous puissiez gérer les services de SageMaker qui existaient jusqu'à présent sur AWS sur un seul écran. Je n'ai fait du machine learning que dans mon environnement local ou dans Google Colaboratory, mais j'aimerais essayer SageMaker Studio.

Essayez d'utiliser

Je vais essayer de l'utiliser. SegeMaker Studio est actuellement une version préliminaire et ne sera pas disponible dans la région voisine de Tokyo. Seul l'Ohio (us-east-2) peut être utilisé.

Screenshot from Gyazo

Cela ressemble à un Jupyter Lab normal. Les raccourcis, etc. peuvent être utilisés normalement dans la plage que j'utilise (mouvement de cellule, changement de mode, etc.). Comme c'est un gros problème, j'essaierai d'utiliser SageMaker Autopilot, qui est l'un des services de SageMaker.

À propos de SageMaker Autopilot

Officiellement, SageMaker Autopilot est décrit comme suit:

Amazon SageMaker Autopilot entraîne et ajuste automatiquement le meilleur modèle d'apprentissage automatique pour la classification ou la régression en fonction de vos données, tout en conservant un contrôle et une visibilité complets.

Cela ressemble à une chose AutoML. C'est un gars sympa qui se déploie automatiquement en plus d'AutoML. Je n'ai pas les données que je souhaite analyser tout de suite, je vais donc l'essayer en référence à la vidéo ci-dessous.

https://www.youtube.com/watch?v=qMEtqJPhqpA

Les données utilisées sont les données diffusées par l'UCI, qui sont les données client de la banque et l'ensemble de données indiquant si vous avez demandé ou non un dépôt fixe.

Importer des données

%%sh
wget -N https://archive.ics.uci.edu/ml/machine-learning-databases/00222/bank-additional.zip
unzip -o bank-additional.zip

Importer et afficher des données

import pandas as pd

data = pd.read_csv('./bank-additional/bank-additional-full.csv', sep=';')
pd.set_option('display.max_columns', 500)     # Make sure we can see all of the columns
pd.set_option('display.max_rows', 50)         # Keep the output on one page
data.head(10)

Dans ces données, l'étiquette de réponse correcte est oui et non binaire. Je compterai chaque nombre

data["y"].value_counts()

result


no     36548
yes     4640

C'est déséquilibré (petite sensation moyenne). L'analyse n'est pas le but de cette fois, je vais donc l'oublier. Il semble que Autopilot gère les données gênantes de cet ajustement. Pour le moment, divisez-le en train, testez-le et enregistrez-le.

import numpy as np

train_data, test_data, _ = np.split(data.sample(frac=1, random_state=123), 
                                                  [int(0.95 * len(data)), int(len(data))])  

# Save to CSV files
train_data.to_csv('automl-train.csv', index=False, header=True, sep=',') # Need to keep column names
test_data.to_csv('automl-test.csv', index=False, header=True, sep=',')

import sagemaker

prefix = 'sagemaker/DEMO-automl-dm/input'
sess   = sagemaker.Session()

uri = sess.upload_data(path="automl-train.csv", key_prefix=prefix)
print(uri)

Création d'une expérience de pilote automatique

Créer une expérience de pilote automatique à partir de SageMaker Studio

Screenshot from Gyazo

Remplissez les éléments. Le dernier élément semble créer un bloc-notes dans lequel vous pouvez essayer le modèle généré automatiquement par SageMaker lorsque vous sélectionnez Non.

Appuyez sur "Créer une expérience" pour commencer à construire le modèle automatiquement.

Le processus est grossièrement divisé en trois processus.

Quand j'ai vu le résultat, j'ai senti que je devais le laisser à la machine au lieu de le faire plus. Le progrès technologique est incroyable.

Je n'ai pas encore terminé le processus, mais j'ai très sommeil, alors je vais m'arrêter ici cette fois. s

Anxiété

Comme pour tous les services cloud, pas seulement AWS, la structure tarifaire est très difficile à comprendre. Je ne savais pas combien il faudrait cette fois pour créer un modèle pour SageMaker Studio ... Même si j'étais floue, quand j'ai utilisé DataProc avec GCP, j'ai oublié d'effacer le cluster et le ressentiment qui a soufflé pour 7000 yens n'a pas disparu ...

Résumé

Il n'y avait pas beaucoup d'articles que j'ai essayés en japonais, alors je l'ai essayé. Mon impression honnête est que j'ai léché AutoML. Cependant, il y a un aspect fort que les fonctions de SageMaker peuvent être intégrées, il est donc recommandé pour les utilisateurs qui ont des fonctions SageMaker complètes, mais qu'en est-il de ceux qui veulent juste un environnement comme Jupyter? C'était comme ça.

Recommended Posts

Essayez d'utiliser AWS SageMaker Studio
Essayez d'utiliser Tkinter
Essayez d'utiliser docker-py
Essayez d'utiliser PDFMiner
Essayez d'utiliser des géopandas
Essayez d'utiliser Selenium
Essayez d'utiliser scipy
Glue Studio [AWS]
Essayez d'utiliser pandas.DataFrame
Essayez d'utiliser django-swiftbrowser
Essayez d'utiliser matplotlib
Essayez d'utiliser tf.metrics
Essayez d'utiliser PyODE
Essayez d'utiliser virtualenv (virtualenvwrapper)
[Azure] Essayez d'utiliser Azure Functions
Essayez d'utiliser virtualenv maintenant
Essayez d'utiliser W & B
Essayez d'utiliser Django templates.html
[Kaggle] Essayez d'utiliser LGBM
Essayez d'utiliser l'analyseur de flux de Python.
Essayez d'utiliser Tkinter de Python
Essayez d'utiliser Tweepy [Python2.7]
Essayez les destinations AWS Lambda
Essayez d'utiliser collate_fn de Pytorch
Essayez d'utiliser PythonTex avec Texpad.
[Python] Essayez d'utiliser le canevas de Tkinter
Essayez d'utiliser l'image Docker de Jupyter
Essayez d'utiliser scikit-learn (1) - Clustering K par méthode moyenne
Essayez l'optimisation des fonctions à l'aide d'Hyperopt
Essayez d'utiliser Azure Logic Apps
[Kaggle] Essayez d'utiliser xg boost
Essayez d'utiliser l'API Twitter
Essayez d'utiliser OpenCV sur Windows
Essayez d'utiliser Jupyter Notebook de manière dynamique
Essayez de tweeter automatiquement en utilisant Selenium.
Essayez d'utiliser SQLAlchemy + MySQL (partie 1)
Essayez d'utiliser l'API Twitter
Essayez d'utiliser SQLAlchemy + MySQL (partie 2)
Essayez d'utiliser la fonction de modèle de Django
Essayez d'utiliser l'API PeeringDB 2.0
Essayez d'utiliser la fonction de brouillon de Pelican
Web scraping à l'aide d'AWS lambda
Essayez d'utiliser pytest-Overview and Samples-
Essayez d'utiliser le folium avec anaconda
J'ai essayé d'utiliser AWS Chalice
Essayez d'utiliser l'API Admin de la passerelle Janus
[Statistiques] [R] Essayez d'utiliser la régression par points de division.
Essayez d'utiliser Spyder inclus dans Anaconda
Essayez d'utiliser des modèles de conception (édition exportateur)
Récapitulatif si vous utilisez AWS Lambda (Python)
Essayez d'utiliser Pillow sur iPython (partie 1)
Essayez d'utiliser Pillow sur iPython (partie 2)
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayez d'utiliser pynag pour configurer Nagios
Essayez d'utiliser ArUco avec Raspberry Pi
Essayez d'utiliser LiDAR bon marché (Camsense X1)
Tweet Récapitulatif WakaTime à l'aide d'AWS Lambda
[Serveur de location Sakura] Essayez d'utiliser flask.
Essayez de fournir des variables d'environnement AWS Lambda?
Arrêtez l'instance AWS à l'aide de Boto3