#!/usr/bin/env python # coding: utf-8 # # Домашняя работа №2 # **Срок сдачи:** 21 октября 2017, 23:59 # Штраф за опоздание: -1 балл за каждый день # # Файл с дз надо загрузить по [ссылке](https://www.dropbox.com/request/Sc8LELV7lp5Vl3Ad7wJG)
# Постарайтесь назвать файл по следующему формату:** [ИАД-*{Номер}*] *{Фамилия}* *{Имя}* ДЗ*{Номер}* **
# # Сопровождайте ваш код изображеними, комментариями и выводами.
# Иммейте ввиду, что на некоторые задачи нет единственного верного и полного ответа. Чем больше информации вы сможете извлечь, аргументированных выводов сформулировать, тем лучше. # # Используйте данный Ipython Notebook при оформлении домашнего задания. # # Table of Contents #

1  Домашняя работа 2
1.1  Работа с данными (4 балла)
1.2  Классификация (6 баллов)
1.2.1  Предписания
1.2.2  Задание
# Прочтите статью ["USING DATA MINING TO PREDICT SECONDARY SCHOOL STUDENT ALCOHOL CONSUMPTION"](https://www.dropbox.com/s/ww4h9ivnkbyy9xw/STUDENT%20ALCOHOL%20CONSUMPTION%20%281%29.pdf?dl=0). # Загрузите [датасет](https://cloud.mail.ru/public/KiKi/Cow8y2yn7), используемый в статье и выполните следующие задания: # ## Работа с данными (4 балла) # 1. Приведите описание признаков датасета на русском языке с указанием типа данных (2 балла) # 2. Описание предобработки данных (2 балла) # - Проверьте наличие пропусков. В случае наличия пропусков заполните их медианными значениями (1 балл) # - Преобразуйте все номинальные признаки в несколько признаков с бинарным значением (1 балл) # ## Классификация (6 баллов) # # ### Предписания # - Используйте accuracy как основную меру качества # - Классы в задаче несбалансированные. Для корректной кросс-валидации используйте стратифицированный способ разбиения на фолды [Stratified K-fold](http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html#sklearn.model_selection.StratifiedKFold) # # ### Задание # 1. Задайте RANDOM_SEED и случайным образом разделите выборку на обучающую и контрольную в пропорции 80/20. Этот же RANDOM_SEED используйте при кросс-валидации (0.5 балла) # 2. Random Forest (2 балла) # * В статье описано использование Random Forest для предсказания важности фактором вляющих на потребление алкоголя. # * Повторите эксперимент с использованием [RandomForest](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier) и найдите наилучшие параметры с помощью кросс-валидации. (1 балл) # * Изобразите аналогичную таблицу важности признаков для наилучшей настройки метода (значения могут отличаться). (0.5 балла) # * Укажите значение accuracy для пяти наилучших настроек метода на контрольной выборке. (0.5 балла) # # 3. GradientBoosting (2 балла) # * Обучите [GradientBoostingClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier) и найдите для него наилучшие параметры с помощью кросс-валидации. (0.5 балла) # * Изобразите таблицу важности признаков для наилучшей настройки метода. Отличается ли она от таблицы метода RandomForest. Почему? (1 балл) # * Укажите значение accuracy для пяти наилучших настроек метода. (0.5 балла) # # 4. AdaBoost (1 балл) # * Обучите [AdaBoostClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) и найдите для него наилучшие параметры с помощью кросс-валидации. (0.5 балла) # * Укажите значение accuracy для пяти наилучших настроек метода. (0.5 балла) # # 5. Какой из классификаторов оказался лучше? (0.5 балла)