БОЛЬШИЕ ДАННЫЕ И МАШИННОЕ ОБУЧЕНИЕ

В этих упражнениях мы будем работать с данными ряда станций глобального мониторинга погоды, используемых для измерения климатических тенденций с целью изучения долгосрочных тенденций температуры в вашем родном регионе. Эти данные поступают из Глобальной исторической климатологической сети и представляют собой фактические необработанные данные, предоставленные NOAA. Единственные изменения, которые я внес в эти данные, — это несколько небольших изменений форматирования, которые помогут достичь целей обучения в этом упражнении.

Чтобы выполнить эти упражнения, сначала загрузите данные для этого упражнения отсюда
. Обратите внимание, что это большой файл (в конце концов, это работа с большими данными), так что наберитесь терпения.


Данные, с которыми мы будем работать, можно найти в файле
. Он включает в себя ежедневные данные о погоде с тысяч метеостанций, работающих на протяжении многих десятилетий.

Начните с разархивирования файла и проверки его размера – он должен быть примерно
4 ГБ, но будет расширен примерно до 12 ГБ ОЗУ, а это означает, что большинство студентов (у которых обычно не более 16 ГБ ОЗУ) не смогут импортировать этот набор данных в панды и манипулировать им напрямую.

(Примечание: то, что мы делаем, можно применить к гораздо большим наборам данных, но иногда работа с ними занимает часы, поэтому мы работаем с данными, которые всего лишь немного
большой, чтобы мы могли выполнять упражнения в разумные сроки).


К счастью, мы не собираемся работать со всеми
данные сегодня. Вместо этого каждый должен выбрать три метеостанции для изучения в ходе этого анализа.

Чтобы выбрать станции, нам нужно открыть
файл в каталоге, который вы скачали. Он включает в себя оба кода станции (это то, что мы найдем в
данные, а также название и местоположение каждой станции).

Выбирая метеостанцию, обязательно выберите одну из них, помеченную как GSN, HCN или CRN (они обозначают более формализованные станции, существующие уже давно, гарантируя, что вы получите станцию ​​с данными, которые было зарегистрировано в течение более длительного периода).

Обратите внимание, что идентификаторы станций начинаются с двухбуквенного кода страны, в которой они расположены, а столбец «ИМЯ» часто содержит названия городов.

“ghcnd-stations.txt“ представляет собой набор данных «фиксированной ширины»,
это означает, что вместо того, чтобы ставить запятые или табуляции между наблюдениями, все столбцы имеют одинаковую ширину (с точки зрения количества символов). Итак, чтобы импортировать эти данные, вам придется (а) прочитать примечания к данным в проекте README.txt и (б) прочитать о том, как читать данные фиксированной ширины в pandas. При вводе спецификаций столбцов помните, что обычные люди отсчитывают от 1 и включают конечные точки, тогда как Python считает от 0 и не включает конечные точки (поэтому, если в файле readme указано, что данные находятся в столбцах 10–20, в Python это будет 9). до 20).

Про урокцифры:  МУЗЫКА ССЫЛКИ


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

Нашу ежедневную погоду можно узнать в
, который вы получите, распаковав
. Обратите внимание, что в README.txt говорится, что это файл фиксированной ширины. Поскольку вы уже имели дело с одним файлом фиксированной ширины, я просто преобразовал его в CSV и удалил все данные, кроме «дневных максимальных температур».

Начнем с самого интересного. СОХРАНИТЕ СВОЙ НОУТБУК И ДРУГИЕ ОТКРЫТЫЕ ФАЙЛЫ!
. Тогда просто попробуйте импортировать данные (
), наблюдая за монитором активности (Mac) или монитором ресурсов (Windows), чтобы увидеть, что произойдет.

Если у вас 8 ГБ ОЗУ, это с треском провалится.

Если у вас 16 ГБ ОЗУ, вам это сойдет с рук. Но если получится
load, попробуйте отсортировать данные по годам и посмотрите, как пойдет дело.

(Если у вас 32 ГБ ОЗУ: на самом деле вас, вероятно, устраивает данные такого размера. Извините — наборы данных, достаточно большие, чтобы вызвать большие проблемы для людей с 32 ГБ, требуют много времени для фрагментации на компьютере с 8 ГБ, и эти упражнения нужно быть достаточно быстрым, чтобы закончить урок! Внизу есть несколько упражнений с ДЕЙСТВИТЕЛЬНО большим набором данных, с которыми вы можете работать.)


Теперь, когда мы знаем, что не можем работать с этим напрямую, с этими большими наборами данных хорошо просто импортировать около 200 строк, чтобы вы могли почувствовать данные. Итак, загрузите всего 200 строк
из
.

В дополнение к вашим трем метеостанциям, пожалуйста, включите также станцию ​​USC00050848 (метеостанция недалеко от моего дома!), чтобы вы могли генерировать результаты, которые мы все можем сравнить (чтобы проверить точность).

Обратите внимание, что вам, вероятно, придется поиграть с размерами блоков (вероятно, наблюдая за использованием оперативной памяти?). Это связано с тем, что небольшие размеры блоков, хотя и полезны для отладки, работают очень медленно.

Каждый раз, когда Python обрабатывает фрагмент, существует фиксированная стоимость обработки, поэтому в наборе данных, скажем, из 10 000 000 строк, если вы попытаетесь создать фрагменты по 100 строк, эту фиксированную стоимость обработки придется оплатить 100 000 раз. Учитывая это, чем больше вы можете сделать свои чанки, тем лучше, если они не будут использовать всю вашу оперативную память. Опять же, выбор размера фрагмента и наблюдение за использованием оперативной памяти — хороший способ узнать, насколько вы близки к пределам вашей оперативной памяти.

Про урокцифры:  СВЯЖИТЕСЬ С ALGORITHMICS ЧТОБЫ УЗНАТЬ О ПРОЕКТЕ И О ТОМ КАК ALGORITHMICS ЗАПУСТИЛА СВОЮ ПЛАТФОРМУ ВИДЕОКОНФЕРЕНЦИЙ В 65 СТРАНАХ


Теперь для каждой метеостанции определите самую раннюю
год с данными. Держите
и две из трех выбранных вами метеостанций с лучшими данными (т. е. всего у вас должно быть 3, две выбранные вами и
).


Теперь рассчитайте среднюю максимальную температуру для каждой метеостанции/месяца в данных. Обратите внимание, что через несколько недель мы будем иметь навыки, чтобы сделать это, изменив наши данные так, чтобы каждая строка отображала один день, а не месяц. Но сейчас просто просуммируйте столбцы, обращая внимание на странные значения.

Чтобы суммировать значения по столбцам, мы можем объединить:

   

(чтобы просто получить столбцы, имена которых начинаются со «значения») с помощью
(которое усредняет по столбцам (вдоль строк), а не обычное усреднение по строкам (вдоль столбцов).


Теперь для каждой метеостанции создайте отдельный график изменения дневной температуры с течением времени. В итоге у вас должен получиться примерно такой сюжет:

temp_plots_Colorado

ПРИМЕЧАНИЕ:
Если на вашем графике есть небольшие горизонтальные линии вверху и внизу графика температуры, соединяющие идеально вертикальные линии температуры, это означает, что вы допустили ошибку при построении графика!

Хотите больше практики?

Если ты правда
хочу вызов, файл
распакуется в
, полная версия ежедневных данных GHCND. Он содержит не только дневные высокие, но и дневные низкие температуры, осадки и т. д. Более того, он по-прежнему имеет формат фиксированной ширины и занимает около 30 ГБ в необработанном виде.

Импорт и разбиение этих данных (с умеренной оптимизацией) на моем компьютере заняло около 2 часов.

Если вы готовы к этому, это отличный набор данных для борьбы с данными в странных форматах и ​​фрагментации.

Совет:
струны поднимаются в сторону
в оперативной памяти больше места, чем чисел, поэтому некоторые столбцы можно преобразовать, чтобы уменьшить объем памяти, занимаемой данными.

Абсолютно положительно нужны решения?

Не используйте эту ссылку, пока вы действительно не потратите время на борьбу со своим кодом!
Это приведет лишь к тому, что вы обманете себя.

Этапы соревнований

Этап 1

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

Этап 2

Задания второго этапа готовят участников к задачам финального тура. Участники познакомятся с платформой по проведению конкурса.

Задания поставлены из себя задач по олимпиадному программированию и задач по машинному обучению.

Финал

Заключительный этап проходит точно в Санкт-Петербурге в Университете ИТМО. Участникам предстоит решить задание предметного тура по математике, информатике и программированию.

Про урокцифры:  Урок математики для школьников

Финальная победа традиционно является классическим соревнованием по построению прогнозных моделей. Участники будут работать в группе и влиять на свои компетенции в ходе работы над решением сложных этапов.

Знания

  • Понимание данных:
    В первую очередь необходимо овладеть предоставленными изученными данными и понять, какие переменные и признаки целевой переменной необходимо предсказать.

  • Предобработка данных:
    данные часто требуют предварительной обработки, например, заполнение пропущенных результатов, масштабирование признаков, удаление старых и т.д.

  • Выбор модели:
    знание моделей для решения задач. Это может быть классическая модель машинного обучения, нейронная сеть или другой алгоритм.

  • Обучающие модели:
    знания по обучению моделей операционных данных. Это включает в себя подгонку модели к данным и настройку параметров.

  • Оценка модели:
    знания по оцениванию результата на тестовых данных. Это позволяет понять, насколько точные и надежные предсказания делает модель.

  • Улучшение модели:
    если модель не дает достаточно хороших результатов, можно попробовать улучшить ее, изменяя параметры модели или использовать другую модель.

  • Предсказание на новых данных:
    после того, как модель была обучена и оценена, ее можно использовать для предсказания значений на новых данных.

Hard skills для финала

  • Программирование на Python, в том числе библиотеки работы с данными (numpy, pandas) и библиотеки глубокого обучения (keras, PyTorch);

Hard skills для старта

  • Программирование на Python;

  • Основы алгоритмов и техник машинного обучения, базовые знания о структурах данных;

  • Базовая математическая подготовка.

Партнеры

background image


background image


background image


background image


background image


background image


background image


background image


background image


background image


background image


background image

Численность команды и роли

Для участия на втором и заключительном этапах вам понадобится команда из 2-3 человек. Роли в команде распределяются командой самостоятельно.

Расписание

{{title}}

{{humanTime}}

    {{#each stage.predmets}}

  • {{this.name}}
  • {{/each}}

{{{desc}}}
    {{#if online}}

  • Онлайн
  • {{/if}}
    {{#if offline}}

  • Оффлайн
  • {{/if}}

    {{#if isDistributed}}

  • Распределенный
  • {{/if}}
    {{#if isFulltime}}

  • Очный
  • {{/if}}

{{address}}

{{#if registrationUrl}}

Регистрация

{{/if}}

    {{#each colorTypes}}

  • {{this.name}}
  • {{/each}}

В современном мире объем данных растет экспоненциально. Большие данные предоставляют ценную информацию о поведении клиентов, рынков, производственных процессов. Умение работать с большими данными дает возможность извлекать ценные инсайты и принимать обоснованные бизнес-решения.

Машинное обучение позволяет автоматизировать процессы и улучшить эффективность работы в таких сферах, как финансы, медицина и производство. Алгоритмы машинного обучения могут обрабатывать и анализировать большие объемы данных гораздо быстрее и точнее, чем человек. Они используются в автономных автомобилях, рекомендательных системах, голосовых помощниках и многих других технологиях.

Большие данные и машинное обучение

  • Сквозные технологии НТИ: Большие данные и искусственный интеллект
  • III уровень РСОШ
  • 100 баллов к ЕГЭ
  • 5 сентября — 31 октября

  • 9 ноября — 15 декабря

  • 4 марта — 9 марта