Введение в анализ текстов на Python для ФГН — различия между версиями
Sggpls (обсуждение | вклад) (→Полезные ссылки) |
Sggpls (обсуждение | вклад) (→Семинары) |
||
Строка 93: | Строка 93: | ||
== 3 - 4 модули == | == 3 - 4 модули == | ||
=== Семинары === | === Семинары === | ||
− | '''13.01.18 Ознакомительный семинар.''' Правила оценивая курса | + | '''13.01.18 Ознакомительный семинар.''' Правила игры (правила оценивая курса). Постановки и примеры задач машинного обучения. Основные понятия. Задача классификации. |
− | '''20.01.18 Метрические классификаторы-0.''' Метод | + | '''20.01.18 Метрические классификаторы-0.''' Метод ближайших соседей. Метрики качества: recall, precision, accuracy, f1-score. Скользящий контроль (k-fold CV). |
− | '''27.01.18 Метрические классификаторы-1.''' Метод потенциальных функций. Метод окна Парзена. | + | '''27.01.18 Метрические классификаторы-1.''' Метод потенциальных функций. Метод окна Парзена. |
− | '''03.02.18 Отбор признаков-0.''' Разбор 1-ой | + | '''03.02.18 Отбор признаков-0.''' Разбор 1-ой лабораторной работы. Метод Монте-Карло. Переборные алгоритмы отбора признаков: full search, add, del, add-del. |
'''10.02.18 Линейный модели-0.''' Общий подход к построению линейных моделей. Линейная регрессия. Градиентный спуск. | '''10.02.18 Линейный модели-0.''' Общий подход к построению линейных моделей. Линейная регрессия. Градиентный спуск. | ||
− | '''17.02.18 Линейный модели-1.''' Логистическая регрессия. Метрики | + | '''17.02.18 Линейный модели-1.''' Логистическая регрессия. Метрики качества: roc-auc, pr-auc, log-loss. |
− | '''24.02.18 Линейный модели-2.''' Переход в спрямляющее пространство | + | '''24.02.18 Линейный модели-2.''' Переход в спрямляющее пространство. Метод опорных векторов. Kernel trick. |
'''03.03.18 Векторные модели текста''' Разбор 2-ой лабораторной работы. Обзор векторных моделей текста. Расстояние между строками. | '''03.03.18 Векторные модели текста''' Разбор 2-ой лабораторной работы. Обзор векторных моделей текста. Расстояние между строками. | ||
− | ''' ''' | + | '''10.03.18 Байесовский классификатор''' Задача восстановления плотностей классов. Линейный дискриминант Фишера. Байесовский наивный классификатор. |
+ | |||
+ | '''17.03.18 Логические модели-0''' Логические модели. Деревья решений. | ||
+ | |||
+ | '''24.03.18 Композиции моделей-0''' Bias and variance tradeoff. Bootstrap aggregating. Случайный лес. | ||
+ | |||
+ | '''24.03.18 Композиции моделей-1''' Разбор 3-ей и 4-ей лабораторных работ. Стекинг и блендинг моделей. | ||
+ | |||
+ | '''31.03.18 Отбор признаков-1''' Статистические критерии. Регуляризация. Отбор на основе важности признаков. | ||
+ | |||
+ | '''07.03.18 Извлечение признаков''' Сингулярное разложение. Метод главных компонент. | ||
+ | |||
+ | '''14.04.18 Большие данные''' Визуализация больших данных. t-SNE. Разряженные матрицы. Библиотека Vowpal Wabbit. | ||
+ | |||
+ | '''21.04.18 Multi-label классификация''' Разбор 5-ой лабораторной работы. Методы решения multi label задач. | ||
=== Правила оценивания === | === Правила оценивания === |
Версия 02:53, 15 июня 2018
Содержание
Описание курса
О курсе
Курс читается на 3 курсе факультета гуманитарных наук для групп БКЛ151 и БКЛ152 в 1, 3 и 4 модулях.
Семинарист: Сергей Кабанов
Ассистенты: Алие Тефикова и Анастасия Родыгина
Семинары проходят по субботам, 3-я и 4-я пары, ауд. 509.
Просьба, по возможности, приходить со своими ноутбуками.
Полезные ссылки
Почта курса: lingvo-python-ml@yandex.ru
Чат курса в телеграм: lingvo-python-ml
1 модуль
Семинары
02.09.17 Ознакомительный семинар. Краткое описание курса. Повторение основ программирования на Python: функции и области видимости, встроенные типы данных, модули и пространство имен. Среда разработки IDLE PyCharm. Разработка через тестирование TDD (модули doctest, pytest). Стиль кодирования (PEP8). lab1 (решение Усти)
09.09.17 Введение в ООП-0. Абстракция данных, инкапсуляция, наследование, полиморфизм. Класс, объект. Конструктор и деструктор. Перегрузка операторов-0.
16.09.17 Продолжение ООП-1. Передача аргументов в функцию (args, kwargs). Перегрузка операторов-1. Итераторы и генераторы.
23.09.17 Замыкания. Декораторы.
30.09.17 Алгоритмы. RAM-модель. Сложность алгоритмов и нотация Big-O. Бинарный поиск. Задача сортировки массива: quick-sort, merge-sort, timsort.
30.09.17 Структуры данных. Ассоциативный массив. Хэш-таблицы. Обзор модуля collections.
07.10.17
14.10.17
14.10.17
21.10.17 Работа с Web. XML и HTML как деревья. Парсинг XML (модуль lxml).
28.10.17 Экзамен. Финальный тест. Последний срок сдачи финального проекта.
Правила оценивания
В модуле 10 семинаров.
10 домашних лабораторных работ стоимостью 10 баллов каждая.
Домашний мини-проект с ревью кода стоимостью 40 баллов.
Финальный тест в классе стоимостью 40 баллов.
По желанию: индивидуальное домашнее задание стоимостью 20 баллов.
Шкала перевода баллов в итоговую оценку представлена в таблице.
Итоговая оценка | Суммарные баллы |
---|---|
Отлично (10) | 140+ |
Отлично (9) | 130+ |
Отлично (8) | 120+ |
Хорошо (7) | 100+ |
Хорошо (6) | 90+ |
Удовлетворительно (5) | 70+ |
Удовлетворительно (4) | 60+ |
Незачет | менее 60 |
Лабораторные работы отправлять на почту курса не позднее начала следующего семинара, если не оговорено иное. Правила формления: надо упаковать в архив все решения и тесты задач, решения называть solutionномер.py, архив назвать labномер-имя-фамилия-номер группы.rar, тема письма labномер-имя-фамилия-номер группы
Полезные литература и ссылки
- Лутц, Изучаем Python, 4-е издание, 2011
- Brad Miller, David Ranum, Problem Solving with Algorithms and Data Structures, Release 3.0, 2013
- Michael T. Goodrich, Data Structures and Algorithms in Python, 1st edition, 2013
- Т.Кормен, Ч.Лейзерсон, Р.Ривест, К.Штайн - Алгоритмы. Построение и анализ. Издание 3-е, 2013
- Умнов, Видиолекции ШАДа по Python
- PEP8, коротко, на русском
- Code Like a Pythonista: Idiomatic Python
- A Curious Course on Coroutines and Concurrency
- Python patterns OOP
- Awesome Python, Много разных библиотек
3 - 4 модули
Семинары
13.01.18 Ознакомительный семинар. Правила игры (правила оценивая курса). Постановки и примеры задач машинного обучения. Основные понятия. Задача классификации.
20.01.18 Метрические классификаторы-0. Метод ближайших соседей. Метрики качества: recall, precision, accuracy, f1-score. Скользящий контроль (k-fold CV).
27.01.18 Метрические классификаторы-1. Метод потенциальных функций. Метод окна Парзена.
03.02.18 Отбор признаков-0. Разбор 1-ой лабораторной работы. Метод Монте-Карло. Переборные алгоритмы отбора признаков: full search, add, del, add-del.
10.02.18 Линейный модели-0. Общий подход к построению линейных моделей. Линейная регрессия. Градиентный спуск.
17.02.18 Линейный модели-1. Логистическая регрессия. Метрики качества: roc-auc, pr-auc, log-loss.
24.02.18 Линейный модели-2. Переход в спрямляющее пространство. Метод опорных векторов. Kernel trick.
03.03.18 Векторные модели текста Разбор 2-ой лабораторной работы. Обзор векторных моделей текста. Расстояние между строками.
10.03.18 Байесовский классификатор Задача восстановления плотностей классов. Линейный дискриминант Фишера. Байесовский наивный классификатор.
17.03.18 Логические модели-0 Логические модели. Деревья решений.
24.03.18 Композиции моделей-0 Bias and variance tradeoff. Bootstrap aggregating. Случайный лес.
24.03.18 Композиции моделей-1 Разбор 3-ей и 4-ей лабораторных работ. Стекинг и блендинг моделей.
31.03.18 Отбор признаков-1 Статистические критерии. Регуляризация. Отбор на основе важности признаков.
07.03.18 Извлечение признаков Сингулярное разложение. Метод главных компонент.
14.04.18 Большие данные Визуализация больших данных. t-SNE. Разряженные матрицы. Библиотека Vowpal Wabbit.
21.04.18 Multi-label классификация Разбор 5-ой лабораторной работы. Методы решения multi label задач.
Правила оценивания
В 3 - 4 модулях ~20 семинаров.
~8 домашних лабораторных работ стоимостью 20 баллов каждая.
Конкурсное задание в конце 3-го модуля стоимостью 30 баллов.
Конкурсное задание в середине 4-го модуля стоимостью 30 баллов.
По желанию: в конце 4-го модуля можно будет увеличить оценку на 1 балл по десятибалльной шкале, доделав часть несданных лаб. работ.
Шкала перевода баллов в итоговую оценку представлена в таблице.
Итоговая оценка | Суммарные баллы |
---|---|
Отлично (10) | 160+ |
Отлично (9) | 150+ |
Отлично (8) | 140+ |
Хорошо (7) | 120+ |
Хорошо (6) | 110+ |
Удовлетворительно (5) | 90+ |
Удовлетворительно (4) | 70+ |
Незачет | менее 70 |