#!/usr/bin/env python # coding: utf-8 # # Майнор по Анализу Данных, Группа ИАД-2 # ## Домашнее задание №0 # # **Общая информация** # # **Срок сдачи:** 12 февраля 2017, 23:59 # # При отправлении ДЗ на почту `hse.minor.dm+2@gmail.com` указывайте фамилию в названии файла, а тему письма оформляйте в следующем виде: # ** [ИАД-2] *{Фамилия}* *{Имя}* ДЗ*{Номер}* ** # # Сопровождайте ваш код изображеними, комментариями и выводами. # Иммейте ввиду, что на некоторые задачи нет единственного верного и полного ответа. Чем больше информации вы сможете извлечь, аргументированных выводов сформулировать, тем лучше. # # Используйте данный Ipython Notebook при оформлении домашнего задания. # # ## Качество вина # #### Задание 1 (2 балла) # Загрузите [датасет](https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv) с информацией о характеристиках вина и его качестве. # In[ ]: ## Your code herezz # * Что из себя представляет объект в этом наборе данных? Сколько их? # * Какие признаки описывают объекты? Сколько их? # * Какой признак является целевым? # * Каковы их области значений? # * Есть ли пропуски? # In[ ]: ## Your code here # #### Задание 2 (1 балл) # Создайте новый столбец `quality_cat`, которая будет иметь значение `1` если `quality > 5` и `0` - иначе.
# In[ ]: ## Your code here # #### Задание 3 (1 балл) # С помощью метода `.hist()` нарисуйте гистрограммы признака `alcohol` в группах с `quality_cat == 1` и `quality_cat == 0`. Добавьте в `hist()` аргумент `alpha=0.3` для прозрачности. # In[ ]: ## Your code here # #### Задание 4 (2 балла) # Можете ли вы придумать правило для классификации вина на хорошее и плохое по рисунку выше? Пусть это будет нашей первой моделью) # # Напишите функцию `theta = brute_clf_train(df)` которая бы перебирала пороговое значение $\theta$ по признаку `alcohol`, делало предсказание и выводило наилучшее $\theta$.
# Т.е. если `alcohol` $\geq \theta$, то `prediction = 1` и `0` - иначе. # # # Оптимальность $\theta$ будем определять по доле совпадения значений `prediction` и `quality_cat` которое оно дает. # In[ ]: ## Your code here # #### Задание 5 (4 балла) # Напишите функцию `prediction = brute_clf_predict(df, theta)` которая бы по значению признака `alcohol` и найденному выше $\theta$ говорила какое качество у вина. # Проверим, как обобщается наша модель на другие данные. # # * Загрузите другой [датасет](https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv) # * Выполните те же панипуляции с признаком `quality` # * Используйте нашу простейшую модель для предсказания качества на новых данных и сравните результаты # In[ ]: ## Your code here