Подготовка среды

Шаг 1. Перейти на сайт платформы GCP

Шаг 2. Проверьте платформу AI и выберите ноутбуки

Шаг 3. Создать новый экземпляр

есть несколько вариантов, которые вы можете выбрать, это так удивительно!

Шаг 4. Откройте JupyterLab, нажмите «открыть jupyerlab», вы перейдете на сайт

Шаг 5. Щелкните значок терминала, запустите терминал и клонируйте репозиторий, после чего вы увидите, как появится каталог.

git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Начать пробовать что-то

Шаг 1. Перейдите на сайт BigQuery, изучите набор данных

Шаг 2. Мы хотим предсказать задержку прибытия авиакомпании на основе задержки вылета.

Шаг 3. Рассчитайте альфу и узнайте нашу среднеквадратичную ошибку при обучении и оцените набор данных.

Here you can see, if we use rand() function to split the dataset, each-time we execute the same sql, we will get the different result,
so it is hard to let us repeatable experiment.

Шаг 4. Как насчет того, чтобы вычислить альфу и вычислить RMSE внутри одного sql? Он также не может обеспечить согласованность при каждом выполнении.

Шаг 5. Вот почему мы можем использовать хеш-функцию, чтобы убедиться, что одно и то же значение попадает в одно и то же ведро, и мы можем выбрать другое ведро для разделения нашего набора данных.

select  date,
        MOD( ABS(FARM_FINGERPRINT(date)), 10) as bucket1,
        airline,
        airline_code,
        departure_airport,
        departure_state,
        departure_lat,
        departure_lon,
        arrival_airport, 
        arrival_state,
        arrival_lat,
        arrival_lon,
        departure_schedule,
        departure_actual,
        departure_delay,
        arrival_schedule,
        arrival_actual,
        arrival_delay
from `bigquery-samples.airline_ontime_data.flights`

Давайте посмотрим, как выглядят данные, когда ведро1 = 0, на изображении ниже мы можем обнаружить, что одно и то же значение даты будет иметь одно и то же значение ведра, оно согласовано.

select  date,
        MOD( ABS(FARM_FINGERPRINT(date)), 10) as bucket1,
        airline,
        airline_code,
        departure_airport,
        departure_state,
        departure_lat,
        departure_lon,
        arrival_airport, 
        arrival_state,
        arrival_lat,
        arrival_lon,
        departure_schedule,
        departure_actual,
        departure_delay,
        arrival_schedule,
        arrival_actual,
        arrival_delay
from `bigquery-samples.airline_ontime_data.flights`
where MOD( ABS(FARM_FINGERPRINT(date)), 10) = 0

Notice:
1. be sure to split your data into those valid sets based on a column that you can afford to lose.
2.The column which you choose, need to consider it's distributed and noisy, otherwise you can not have a good split.

образец кода



Ссылка