Преобразование записной книжки в скрипт
При использовании записных книжек для экспериментирования и разработки сначала необходимо преобразовать записную книжку в скрипт. Кроме того, можно пропустить использование записных книжек и работать только с скриптами. В любом случае при создании скриптов существуют некоторые рекомендации по созданию кода, готового к работе.
Скрипты идеально подходят для тестирования и автоматизации в рабочей среде. Чтобы создать готовый к работе сценарий, необходимо выполнить следующие действия.
- Удалите ненужный код.
- Перепишите ваш код в функции.
- Протестируйте скрипт в терминале.
Удаление всего ненужного кода
Основное преимущество использования записных книжек — это возможность быстро изучить данные. Например, можно использовать print() и df.describe() операторы для изучения данных и переменных. При создании скрипта, используемого для автоматизации, необходимо избежать включения кода, написанного для изучения.
Первое, что необходимо сделать для преобразования кода в рабочий код, это удалить ненужный код. Особенно при регулярном выполнении кода необходимо избежать выполнения каких-либо невенсиальных операций, чтобы сократить затраты и время вычислений.
Приведите свой код в функции
При использовании кода в бизнес-процессах необходимо, чтобы код был легко прочитан, чтобы любой пользователь мог его поддерживать. Одним из распространенных подходов к упрощению чтения и тестирования кода является использование функций.
Например, представьте, что вы использовали следующий пример кода в записной книжке для чтения и разделения данных:
# 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)
Как функции также позволяют тестировать части кода, можно создать несколько небольших функций, а не одну большую функцию. Если вы хотите протестировать часть кода, вы можете протестировать только небольшую часть и избежать выполнения большего количества кода, чем необходимо.
Вы можете рефакторить код, как показано в примере, на две функции.
- Чтение данных
- Разделение данных
Пример рефакторингового кода может быть следующим:
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
Замечание
Возможно, вы заметили, что несущественный код также был опущен в переработанном коде. Вы можете использовать print инструкции в рабочем коде, если вы просматриваете выходные данные скрипта и хотите убедиться, что весь код выполняется должным образом. Однако, если вы знаете, что вы не собираетесь просматривать выходные данные скрипта в терминале, лучше удалить любой код, который не имеет цели.
Тестирование скрипта
Прежде чем использовать скрипты в рабочих средах, например интегрируя их с конвейерами автоматизации, необходимо проверить, работают ли скрипты должным образом.
Одним из простых способов тестирования скрипта является запуск скрипта в терминале. В рабочей области Машинного обучения Azure можно быстро запустить скрипт в терминале вычислительного экземпляра.
При открытии скрипта на странице записных книжек студии машинного обучения Azure можно сохранить и запустить скрипт в терминале.
При этом можно получить непосредственный доступ к терминалу вычислительной машины. Перейдите на страницу вычислений и выберите терминал вычислительного экземпляра, который требуется использовать. Для запуска скрипта Python с именем train.pyможно использовать следующую команду:
python train.py
Выходные данные инструкций print отображаются в терминале. Все возможные ошибки также отображаются в терминале.