Konvertieren eines Notizbuchs in ein Skript

Abgeschlossen

Wenn Sie Notizbücher für Experimente und Entwicklung verwendet haben, müssen Sie zuerst ein Notizbuch in ein Skript konvertieren. Alternativ können Sie die Verwendung von Notizbüchern überspringen und nur mit Skripts arbeiten. In beiden Fällen gibt es einige Empfehlungen beim Erstellen von Skripts, um produktionsbereiten Code zu haben.

Skripts eignen sich ideal für Tests und Automatisierung in Ihrer Produktionsumgebung. Um ein produktionsfähiges Skript zu erstellen, müssen Sie:

  • Entfernen Sie nicht benötigten Code.
  • Gestalten Sie Ihren Code in Funktionen um.
  • Testen Sie Ihr Skript im Terminal.

Entfernen des unwichtigen Codes

Der Hauptvorteil der Verwendung von Notizbüchern besteht darin, Ihre Daten schnell zu durchsuchen. Sie können z. B. Ihre Daten und Variablen mithilfe print() und df.describe() Anweisungen untersuchen. Wenn Sie ein Skript erstellen, das für die Automatisierung verwendet wird, sollten Sie verhindern, dass Code für explorative Zwecke eingeschlossen wird.

Das erste, was Sie daher tun müssen, um Ihren Code in Produktionscode zu konvertieren, besteht darin, den nicht benötigten Code zu entfernen. Vor allem, wenn Sie den Code regelmäßig ausführen, möchten Sie vermeiden, dass alle nicht erforderlichen Schritte ausgeführt werden, um Kosten zu reduzieren und Zeit zu berechnen.

Refaktoriere deinen Code in Funktionen

Wenn Sie Code in Geschäftsprozessen verwenden, soll der Code einfach zu lesen sein, damit jeder ihn verwalten kann. Ein gängiger Ansatz, um Code einfacher zu lesen und zu testen, ist die Verwendung von Funktionen.

Angenommen, Sie haben den folgenden Beispielcode in einem Notizbuch zum Lesen und Teilen der Daten verwendet:

# read and visualize the data
print("Reading data...")
df = pd.read_csv('diabetes.csv')
df.head()

# split data
print("Splitting data...")
X, y = df[['Pregnancies','PlasmaGlucose','DiastolicBloodPressure','TricepsThickness','SerumInsulin','BMI','DiabetesPedigree','Age']].values, df['Diabetic'].values

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0)

Da Sie mithilfe von Funktionen auch Teile ihres Codes testen können, sollten Sie mehrere kleinere Funktionen anstelle einer großen Funktion erstellen. Wenn Sie einen Teil ihres Codes testen möchten, können Sie nur einen kleinen Teil testen und vermeiden, dass mehr Code als erforderlich ausgeführt wird.

Sie können den im Beispiel gezeigten Code in zwei Funktionen umgestalten:

  • Lesen der Daten
  • Teilen der Daten

Ein Beispiel für umgestalteten Code kann sein:

def main(csv_file):
    # read data
    df = get_data(csv_file)

    # split data
    X_train, X_test, y_train, y_test = split_data(df)

# function that reads the data
def get_data(path):
    df = pd.read_csv(path)
    
    return df

# function that splits the data
def split_data(df):
    X, y = df[['Pregnancies','PlasmaGlucose','DiastolicBloodPressure','TricepsThickness',
    'SerumInsulin','BMI','DiabetesPedigree','Age']].values, df['Diabetic'].values

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=0)

    return X_train, X_test, y_train, y_test

Hinweis

Möglicherweise haben Sie bemerkt, dass nicht benötigte Code auch im umgestalteten Code weggelassen wurde. Sie können print-Befehle im Produktionscode verwenden, wenn Sie die Skriptausgabe überprüfen und sicherstellen möchten, dass der gesamte Code wie erwartet ausgeführt wurde. Wenn Sie jedoch wissen, dass Sie die Ausgabe eines Skripts in einem Terminal nicht überprüfen werden, empfiehlt es sich, Code zu entfernen, der keinen Zweck hat.

Testen des Skripts

Bevor Sie Skripts in Produktionsumgebungen verwenden, z. B. indem Sie sie in Automatisierungspipelinen integrieren, sollten Sie testen, ob die Skripts wie erwartet funktionieren.

Eine einfache Möglichkeit zum Testen Ihres Skripts besteht darin, das Skript in einem Terminal auszuführen. Innerhalb des Azure Machine Learning-Arbeitsbereichs können Sie schnell ein Skript im Terminal der Computeinstanz ausführen.

Wenn Sie ein Skript auf der Seite " Notizbücher " im Azure Machine Learning Studio öffnen, können Sie das Skript im Terminal speichern und ausführen.

Alternativ können Sie direkt zum Terminal der Computeinstanz navigieren. Navigieren Sie zur Computeseite , und wählen Sie das Terminal der Computeinstanz aus, die Sie verwenden möchten. Sie können den folgenden Befehl verwenden, um ein Python-Skript mit dem Namen train.pyauszuführen:

python train.py

Ausgaben von print Anweisungen werden im Terminal angezeigt. Alle möglichen Fehler werden auch im Terminal angezeigt.