Konwertowanie notesu na skrypt

Ukończone

W przypadku korzystania z notesów na potrzeby eksperymentowania i programowania należy najpierw przekonwertować notes na skrypt. Alternatywnie możesz pominąć korzystanie z notesów i pracować tylko ze skryptami. W obu przypadkach istnieją pewne zalecenia dotyczące tworzenia skryptów w celu utworzenia kodu gotowego do produkcji.

Skrypty są idealne do testowania i automatyzacji w środowisku produkcyjnym. Aby utworzyć skrypt gotowy do produkcji, należy wykonać następujące działania:

  • Usuń zbędny kod.
  • Podziel swój kod na funkcje.
  • Przetestuj skrypt w terminalu.

Usuń cały zbędny kod

Główną zaletą korzystania z notesów jest możliwość szybkiego eksplorowania danych. Na przykład możesz użyć instrukcji print() i df.describe() do eksplorowania danych i zmiennych. Podczas tworzenia skryptu używanego do automatyzacji należy unikać dołączania kodu napisanego do celów eksploracyjnych.

Pierwszą rzeczą, którą należy zatem wykonać, aby przekonwertować kod na kod produkcyjny, jest usunięcie kodu beznieściowego. Szczególnie w przypadku regularnego uruchamiania kodu, należy unikać wykonywania nieistotnych operacji, aby zmniejszyć koszty i czas przetwarzania.

Przekształć swój kod na funkcje

W przypadku korzystania z kodu w procesach biznesowych chcesz, aby kod był łatwy do odczytania, aby każdy mógł go obsługiwać. Jednym z typowych metod ułatwiania odczytywania i testowania kodu jest użycie funkcji.

Załóżmy na przykład, że w notesie użyto następującego przykładowego kodu do odczytywania i dzielenia danych:

# 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)

Ponieważ funkcje umożliwiają również testowanie części kodu, warto utworzyć wiele mniejszych funkcji, a nie jedną dużą funkcję. Jeśli chcesz przetestować część kodu, możesz przetestować tylko niewielką część i uniknąć uruchamiania więcej kodu niż jest to konieczne.

Kod pokazany w przykładzie można zrefaktoryzować na dwie funkcje.

  • Odczytywanie danych
  • Dzielenie danych

Przykładem refaktoryzowanego kodu może być:

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

Uwaga / Notatka

Być może zauważyłeś, że kod nieistotny został również pominięty w refaktoryzowanym kodzie. Możesz użyć print instrukcji w kodzie produkcyjnym, jeśli przeglądasz dane wyjściowe skryptu i chcesz upewnić się, że cały kod został uruchomiony zgodnie z oczekiwaniami. Jeśli jednak wiesz, że nie będziesz przeglądać danych wyjściowych skryptu w terminalu, najlepiej jest usunąć dowolny kod, który nie ma celu.

Testowanie skryptu

Przed użyciem skryptów w środowiskach produkcyjnych, na przykład przez zintegrowanie ich z potokami automatyzacji, chcesz sprawdzić, czy skrypty działają zgodnie z oczekiwaniami.

Jednym z prostych sposobów testowania skryptu jest uruchomienie skryptu w terminalu. W obszarze roboczym usługi Azure Machine Learning można szybko uruchomić skrypt w terminalu wystąpienia obliczeniowego.

Po otwarciu skryptu na stronie Notesy programu Azure Machine Learning Studio możesz zapisać i uruchomić skrypt w terminalu.

Alternatywnie możesz przejść bezpośrednio do terminalu instancji obliczeniowej. Przejdź do strony Obliczenia i wybierz terminal wystąpienia obliczeniowego, którego chcesz użyć. Możesz użyć następującego polecenia, aby uruchomić skrypt języka Python o nazwie train.py:

python train.py

Dane wyjściowe instrukcji print są wyświetlane w terminalu. Wszelkie możliwe błędy są również wyświetlane w terminalu.