Машинное обучение 1/Группа 145 РС
Материал из Wiki - Факультет компьютерных наук
Версия от 10:03, 14 октября 2016; Aumnov (обсуждение | вклад)
Содержание
- 1 Общая информация
- 2 Семинары
- 2.1 Семинар 1 (09.09). Вводные понятия. Инструменты numpy, pandas, matplotlib.
- 2.2 Семинар 2 (16.09). Векторное дифференцирование. Знакомство с sklearn.
- 2.3 Семинар 3 (23.09). Предобработка: категории, пропуски, нормализация. Минимизация функции потерь.
- 2.4 Семинары 4 и 5 (07.10 и 08.10). Линейная классификация. Метрики качества, ROC, PR, AUC. Валидация. SVM.
- 2.5 Семинар 6 (14.10). Работа с текстом, TF-IDF, разреженные матрицы.
Общая информация
Время для консультаций (по предварительной договоренности):
- Понедельник 11:00 - 12:00, 15:00 - 16:00
- Вторник 11:00 - 12:00, 15:00 - 16:00
- Пятница 9:30 - 12:00, 16:30 - 17:30.
аудитория 623
Почта: alexeyum@gmail.com
Семинары
Материалы для повторения см. на главной странице курса
Семинар 1 (09.09). Вводные понятия. Инструменты numpy, pandas, matplotlib.
Упражнения на дом:
- Сгенерируйте матрицу 5x5 со случайными числами от 0 до 1. Найдите индексы ячеек со значениями меньше 0.2.
- Создайте матрицу 5x5 с числами, такими, что в ячейке (i, j) стоит число i+j. В задаче нельзя использовать циклы.
- Постройте график функции exp(|2*x + 3|).
- Пусть x, y - два вектора. Найдите проекцию вектора x на вектор y.
Семинар 2 (16.09). Векторное дифференцирование. Знакомство с sklearn.
Дополнительные упражнения на темы прошлого семинара: упражнения, titanic.csv
Семинар 3 (23.09). Предобработка: категории, пропуски, нормализация. Минимизация функции потерь.
Семинары 4 и 5 (07.10 и 08.10). Линейная классификация. Метрики качества, ROC, PR, AUC. Валидация. SVM.
Упражнения на дом (в случае затруднений см. тетрадку семинара 4 на главной курса).
- Скачайте датасет для классификации спама: https://archive.ics.uci.edu/ml/machine-learning-databases/spambase/
- Разделите выборку на обучение и тест (sklearn.cross_validation.train_test_split)
- Обучите на нем логистическую регрессию (sklearn.linear_model.LogisticRegression), посчитайте различные метрики для вашего классификатора: правильность, точность, полноту (sklearn.metrics).
- Постройте ROC-кривую и PR-кривую для этого классификатора, посчитайте для них AUC-значения.
- Проделайте кросс-валидацию метода (sklearn.cross_validation.KFold)
Семинар 6 (14.10). Работа с текстом, TF-IDF, разреженные матрицы.
Упражнения на дом (в случае затруднений см. тетрадку семинара 6 на главной курса):
- Даны разреженные матрицы A и B в одном из трех форматов: COO, CSR, CSC. Какое время потребуется для их перемножения в зависимости от форматов? Какая пара форматов самая оптимальная?
- Дана разреженная матрица A и вектор z. Покажите, что если A представлена в формате CSR или CSC, то выражение Az можно вычислить эффективно.
- Загрузите датасет отзывов о работе банков. Обозначьте отзывы с оценками 4-5 как положительные и 1-3 как отрицательные. Приведите тексты к нижнему регистру, уберите все символы, кроме кириллицы, превратите тексты в признаки с помощью TF-IDF. Обучите линейную регрессию на этих данных.
- В предыдущем задании изучите, какие слова в наибольшей степени влияют на ответ.
- * Проведите стемминг текстов с помощью nltk.stem.snowball.RussianStemmer() и еще раз проведите классификацию. Сравните результаты.