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

1  Домашняя работа 2
1.1  Работа с данными (4 балла)
1.2  Классификация (6 баллов)
1.2.1  Предписания
1.2.2  Задание
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Прочтите статью [\"USING\tDATA\tMINING\tTO\tPREDICT\tSECONDARY SCHOOL\tSTUDENT\tALCOHOL\tCONSUMPTION\"](https://www.dropbox.com/s/ww4h9ivnkbyy9xw/STUDENT%20ALCOHOL%20CONSUMPTION%20%281%29.pdf?dl=0).\n", "Загрузите [датасет](https://cloud.mail.ru/public/KiKi/Cow8y2yn7), используемый в статье и выполните следующие задания:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Работа с данными (4 балла)\n", "1. Приведите описание признаков датасета на русском языке с указанием типа данных (2 балла)\n", "2. Описание предобработки данных (2 балла)\n", " - Проверьте наличие пропусков. В случае наличия пропусков заполните их медианными значениями (1 балл)\n", " - Преобразуйте все номинальные признаки в несколько признаков с бинарным значением (1 балл)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Классификация (6 баллов)\n", "\n", "### Предписания\n", "- Используйте accuracy как основную меру качества\n", "- Классы в задаче несбалансированные. Для корректной кросс-валидации используйте стратифицированный способ разбиения на фолды [Stratified K-fold](http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html#sklearn.model_selection.StratifiedKFold)\n", "\n", "### Задание\n", "1. Задайте RANDOM_SEED и случайным образом разделите выборку на обучающую и контрольную в пропорции 80/20. Этот же RANDOM_SEED используйте при кросс-валидации (0.5 балла)\n", "2. Random Forest (2 балла)\n", " * В статье описано использование Random Forest для предсказания важности фактором вляющих на потребление алкоголя.\n", " * Повторите эксперимент с использованием [RandomForest](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier) и найдите наилучшие параметры с помощью кросс-валидации. (1 балл)\n", " * Изобразите аналогичную таблицу важности признаков для наилучшей настройки метода (значения могут отличаться). (0.5 балла)\n", " * Укажите значение accuracy для пяти наилучших настроек метода на контрольной выборке. (0.5 балла)\n", "\n", "3. GradientBoosting (2 балла)\n", " * Обучите [GradientBoostingClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html#sklearn.ensemble.GradientBoostingClassifier) и найдите для него наилучшие параметры с помощью кросс-валидации. (0.5 балла)\n", " * Изобразите таблицу важности признаков для наилучшей настройки метода. Отличается ли она от таблицы метода RandomForest. Почему? (1 балл)\n", " * Укажите значение accuracy для пяти наилучших настроек метода. (0.5 балла)\n", "\n", "4. AdaBoost (1 балл)\n", " * Обучите [AdaBoostClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html) и найдите для него наилучшие параметры с помощью кросс-валидации. (0.5 балла)\n", " * Укажите значение accuracy для пяти наилучших настроек метода. (0.5 балла)\n", "\n", "5. Какой из классификаторов оказался лучше? (0.5 балла)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [conda root]", "language": "python", "name": "conda-root-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" }, "nav_menu": {}, "toc": { "colors": { "hover_highlight": "#DAA520", "navigate_num": "#000000", "navigate_text": "#333333", "running_highlight": "#FF0000", "selected_highlight": "#FFD700", "sidebar_border": "#EEEEEE", "wrapper_background": "#FFFFFF" }, "moveMenuLeft": true, "nav_menu": { "height": "105px", "width": "253px" }, "navigate_menu": true, "number_sections": false, "sideBar": true, "threshold": 4, "toc_cell": false, "toc_section_display": "block", "toc_window_display": true, "widenNotebook": false } }, "nbformat": 4, "nbformat_minor": 1 }