ННГАСУ курс по Большим данным
Презентация по курсу (обновляемая): https://docs.google.com/presentation/d/1xZ51nq1IWvccSrLzHo_QyaDQPvMBiWeUhoyPND-ARzo/edit?usp=sharing
Для работы необходим python 3.9 и выше. Библиотеки: numpy, pandas, matplotlib, tensorflow Редактор любой. Из неплохих: IDLE (родной, идёт вместе с установщиком), Visual Studio Code, notepad++, PyCharm, vim (для любителей сначала страдать, потом наслаждаться)
Работа с блокнотами онлайн, с возможностью подключения удалённых мощностей гугла (GPU, TPU): https://colab.research.google.com/
Таблица, где я буду отмечать сданные работы: https://docs.google.com/spreadsheets/d/1SdM8fmd4IY8SIh5mzM9gXIXM3aq-ea-w3NJa8Zn_gX4/edit?usp=sharing
Сервер в Дискорд, где буду дублировать: https://discord.gg/MzPkCYf4Dh Мой контакт: nsmorozov@rf.unn.ru
В своей папке можете делать все что угодно, в чужие не залезать, в корневую тоже. Я буду ориентироваться на файлы, где в названии будет номер лабораторной.
Big data
# [1] Map-reduce и предобработка данныхСделать с изменёнными файлами действия, аналогичные проведенным в примере из папки _lab-1
-
Построить графики зависимости (как в абсолютных значениях, так и в нормированных, два графика) следующего:
a) гистограмма (bars) количества битв в год с группировкой по домам-защитникам (если нет дома - отбросить данные);
b) суммарная длина всех имен королей-нападающих (если больше одного раза - складывать каждый раз) за каждый год;
c) круговая диаграмма битв, которые начинал каждый из домов (если отсутствует или несколько - объединять в отдельную группу "None");
d) считая, что каждая битва длилась в среднем 1 месяц (с учетом подготовки и восстановления), посчитать сколько в каждом году воевал каждый из королей (как нападавших, так и защищающихся).
-
Кроме графика, вывести сведенную в одну таблицу с данными, по которым данные графики строили.
-
Разбивку, кто какой из пунктов делает смотрите в таблице.
Презентация по курсу (обновляемая): https://docs.google.com/presentation/d/1rMirhHDHlBHSE8TmHPv4mUuaSaGsJ82O2CVv8BqwssI/edit?usp=sharing
-
Сгруппировать оценки и построить график по:
a) годам проведения дегустации (Review date);
b) первой цифре поля REF;
c) стране компании (Company location);
d) происхождению какао-бобов (Broad bean origin).
-
Оценить: дисперсию, среднее, медианное, и СКО поля "Rating" для каждого поля отдельно. Сравнить с аналогичными показателями общего поля "Rating" (по всему списку). Результат представить в удобном для восприятия виде, например, таблицей;
-
(общее) Оценить величины дисперсии и размаха (max-min) рейтинга ("Rating") для различного содержания какао в процентах ("Cocoa Percent").
-
Посчитать априорные вероятности для каждой страны происхождения (Company Location) получения оценки выше 3.1;
-
Используя их, посчитать вероятность того, что новый сорт какао с содержанием выше 73% (Cocoa Percent) будет имет оценку выше 3.1 для стран:
a) Европы плюс Африки;
b) северного полушария;
c) обеих Америк;
d) южного полушария.
-
Сделать прогноз, какова вероятность того, что обзоры какао после 2014 года будут иметь оценку выше медианной по всему периоду после 2010 года.
Реализовать в функциональной парадигме приближенное вычисление корней уравнения f(x) с заданной (с клавиатуры при запуске) точностью epsilon. Вариант задания рассчитывается как len('Морозов Никита Сергеевич') % 5, где вместо моих ФИО - ваше.
1- методом половинного деления
4- на промежутке (2.5, 2.6) методом простых итераций
Для начала необходимы библиотека tensorflow: $pip install tensorflow. Если есть видеокарта с поддержкой CUDA, то надо поставить ее (https://developer.nvidia.com/cuda-toolkit) и библиотеку tf-nightly-gpu: $pip install tf-nightly-gpu.
В файле _lab-4.py закомментирован код который:
- добавляет в исходную базу столбец со ссылкой на страницу фильма на imdb;
- качает постеры и сохраняет их в папку movies_posters;
- добавляет столбец со списком жанров каждого фильма и сохраняет все в финальную базу final_dataset.
Обучить НС определять по плакату жанр. Если задача окажется невыполнимой, вместо жанра взять год выпуска фильма.