[PYTHON] Versuchen Sie es mit AWS SageMaker Studio

Einführung

Vor ungefähr einer Woche schrieb ich einen Artikel N Gründe, Jupyter Lab anstelle von Jupyter zu empfehlen. Es ist eine ganz andere Geschichte, aber ein Produkt namens SageMaker Studio wurde bei einer Veranstaltung namens re: Invent bei der Einführung des neuen AWS-Produkts angekündigt. Es scheint, dass Sie die Dienste von SageMaker, die bisher in AWS vorhanden waren, auf einem Bildschirm verwalten können. Ich habe nur maschinelles Lernen in meiner lokalen Umgebung oder in Google Colaboratory durchgeführt, möchte dieses SageMaker Studio jedoch ausprobieren.

Versuchen Sie es mit

Ich werde es versuchen. SegeMaker Studio ist derzeit eine Vorschau-Version und wird in der nahe gelegenen Region Tokio nicht verfügbar sein. Es kann nur Ohio (us-east-2) verwendet werden.

Screenshot from Gyazo

Es fühlt sich an wie ein normales Jupyter Lab. Verknüpfungen usw. können normalerweise innerhalb des von mir verwendeten Bereichs verwendet werden (Zellenbewegung, Modusumschaltung usw.). Da es eine große Sache ist, werde ich versuchen, SageMaker Autopilot zu verwenden, einen der Dienste von SageMaker.

Informationen zu SageMaker Autopilot

Offiziell wird SageMaker Autopilot wie folgt beschrieben:

Amazon SageMaker Autopilot trainiert und passt automatisch das beste maschinelle Lernmodell für die Klassifizierung oder Regression basierend auf Ihren Daten an und behält dabei die volle Kontrolle und Sichtbarkeit bei.

Es sieht aus wie eine AutoML-Sache. Es ist ein netter Kerl, der zusätzlich zu AutoML automatisch bereitstellt. Ich habe nicht die Daten, die ich sofort analysieren möchte, daher werde ich es anhand des folgenden Videos versuchen.

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

Die verwendeten Daten sind die von UCI verteilten Daten, dh die Kundendaten der Bank und der Datensatz, ob Sie eine feste Einzahlung beantragt haben oder nicht.

Daten importieren

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

Daten importieren und anzeigen

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)

In diesen Daten ist das richtige Antwortetikett binär Ja und Nein. Ich werde jede Zahl zählen

data["y"].value_counts()

result


no     36548
yes     4640

Es ist unausgeglichen (kleines Durchschnittsgefühl). Die Analyse ist nicht der Zweck dieser Zeit, deshalb werde ich sie überspringen. Es scheint, dass Autopilot die störenden Daten aus dieser Anpassung verwaltet. Teilen Sie es vorerst in Zug und testen und speichern Sie es.

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)

Autopilot-Experiment erstellen

Erstellen Sie ein Autopilot-Beispiel aus SageMaker Studio

Screenshot from Gyazo

Füllen Sie die Elemente aus. Das letzte Element scheint ein Notizbuch zu erstellen, in dem Sie das von SageMaker automatisch generierte Modell ausprobieren können, wenn Sie Nein auswählen.

Drücken Sie auf "Experiment erstellen", um das Modell automatisch zu erstellen.

Der Prozess ist grob in drei Prozesse unterteilt.

Als ich das Ergebnis sah, hatte ich das Gefühl, ich sollte es der Maschine überlassen, anstatt es nicht mehr zu tun. Der technologische Fortschritt ist erstaunlich.

Ich habe den Prozess noch nicht abgeschlossen, aber ich bin sehr müde, also werde ich diesmal hier aufhören. s

Angst

Wie bei allen Cloud-Diensten, nicht nur bei AWS, ist die Preisstruktur sehr schwer zu verstehen. Ich war mir nicht sicher, wie viel es diesmal kosten würde, ein Modell für SageMaker Studio zu erstellen ... Obwohl ich unscharf war, als ich DataProc mit GCP verwendete, vergaß ich, den Cluster zu löschen, und der Groll, der 7.000 Yen wegblies, ist nicht verschwunden ...

Zusammenfassung

Es gab nicht viele Artikel, die ich auf Japanisch ausprobiert habe, also habe ich es versucht. Mein ehrlicher Eindruck ist, dass ich AutoML geleckt habe. Es gibt jedoch einen starken Aspekt, dass SageMaker-Funktionen integriert werden können. Daher wird dies Benutzern empfohlen, die über vollständige SageMaker-Funktionen verfügen. Was ist jedoch mit Benutzern, die nur eine Umgebung wie Jupyter wünschen? Es war so.

Recommended Posts

Versuchen Sie es mit AWS SageMaker Studio
Versuchen Sie es mit Tkinter
Versuchen Sie es mit Docker-Py
Versuchen Sie es mit PDFMiner
Versuchen Sie es mit Geopandas
Versuchen Sie es mit Selen
Versuchen Sie es mit scipy
Glue Studio [AWS]
Versuchen Sie es mit pandas.DataFrame
Versuchen Sie es mit Django-Swiftbrowser
Versuchen Sie es mit matplotlib
Versuchen Sie es mit tf.metrics
Versuchen Sie es mit PyODE
Versuchen Sie es mit virtualenv (virtualenvwrapper)
[Azure] Versuchen Sie, Azure-Funktionen zu verwenden
Versuchen Sie es jetzt mit virtualenv
Versuchen Sie es mit W & B.
Versuchen Sie es mit Django templates.html
[Kaggle] Versuchen Sie es mit LGBM
Versuchen Sie es mit dem Feed-Parser von Python.
Versuchen Sie es mit Pythons Tkinter
Versuchen Sie es mit Tweepy [Python2.7]
Probieren Sie AWS Lambda Destinations aus
Versuchen Sie es mit Pytorchs collate_fn
Versuchen Sie, PythonTex mit Texpad zu verwenden.
[Python] Versuchen Sie, Tkinters Leinwand zu verwenden
Versuchen Sie es mit Jupyters Docker-Image
Versuchen Sie es mit Scikit-Learn (1) - K-Clustering nach Durchschnittsmethode
Versuchen Sie die Funktionsoptimierung mit Hyperopt
Versuchen Sie es mit Azure Logic Apps
[Kaggle] Versuchen Sie es mit xg boost
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit OpenCV unter Windows
Versuchen Sie, Jupyter Notebook dynamisch zu verwenden
Versuchen Sie, automatisch mit Selen zu twittern.
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 1)
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Versuchen Sie es mit der Vorlagenfunktion von Django
Versuchen Sie es mit der PeeringDB 2.0-API
Versuchen Sie es mit der Entwurfsfunktion von Pelican
Web Scraping mit AWS Lambda
Versuchen Sie es mit pytest-Overview und Samples-
Versuchen Sie es mit Folium mit Anakonda
Ich habe versucht, AWS Chalice zu verwenden
Versuchen Sie es mit der Admin-API von Janus Gateway
[Statistik] [R] Versuchen Sie, die Teilungspunktregression zu verwenden.
Versuchen Sie es mit Spyder, das in Anaconda enthalten ist
Versuchen Sie es mit Designmustern (Exporter Edition)
Zusammenfassung bei Verwendung von AWS Lambda (Python)
Versuchen Sie es mit Pillow auf iPython (Teil 1)
Versuchen Sie es mit Pillow auf iPython (Teil 2)
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen Sie, Nagios mit pynag zu konfigurieren
Versuchen Sie es mit ArUco mit Raspberry Pi
Versuchen Sie es mit billigem LiDAR (Camsense X1)
Tweet WakaTime Zusammenfassung mit AWS Lambda
[Sakura-Mietserver] Versuchen Sie es mit einer Flasche.
Versuchen Sie, AWS Lambda-Umgebungsvariablen anzugeben?
Stoppen Sie die AWS-Instanz mit Boto3