You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DL_Course_SamU/1147/lab_4_regression_and_classi...

10 KiB

Лабораторная работа 4

Регрессия и классификация в sklearn. Метрики регрессии классификации

Данная лабораторная выполняет в командах по 3-4 человека. Датасеты у команд не должны пересекаться.

Регрессия

  1. Загрузить датасет, подходящий для задачи регрессии. Набор данных должен содержать не только числовые, но и категориальные/бинарные признаки. Опишите данные, что обозначает каждый столбец, какого типа (категориальный, вещественный, целочисленный, бинарный) данный столбец, при необходимости для категориальных в том числе бинарных признаков привести расшифровку их значений.
In [ ]:
 
  1. Удалить категориальные / бинарные признаки, оставив только вещественные.
In [ ]:
 
  1. Визуализировать heatmap-матрицу кореллированности признаков.
In [ ]:
 
  1. Визуализировать взаимосвязь между целевой переменной и каждым признаком (с помощью sns.pairplot или pandas.plotting.scatter_matrix или как-то ещё). Лучше всего, если будете строить диаграмму попарного распределения не между ВСЕМИ парами признаков, а только между признаками и целевой переменной.
In [ ]:
 
  1. Разделить набор данных на обучающую и тестовую выборки
In [ ]:
 
5. Линейная регрессия

5.1 Обучить модель линейной регрессии (LinearRegression)

In [ ]:
 

5.2 Вывести метрики MAE, MSE и R2 на обущающем и тестовом наборе

In [ ]:
 

5.3 Вывести model.coef_ и model.intercept_

In [ ]:
 

5.4 Построить график (barh) с важностью коэфициентов при соответствующих признаках. Желательно, чтобы сверху вниз шли коэффициенты по убыванию, а названия соответствующих признаков подписаны по вертикальной оси.

In [ ]:
 

Классификация

  1. Загрузите наборы данных, подходящие для многоклассовой и бинарной классификации. Опишите данные, что обозначает каждый столбец, какого типа (категориальный, вещественный, целочисленный, бинарный) данный столбец, при необходимости для категориальных в том числе бинарных признаков привести расшифровку их значений. В общем, проведите "визуальный" анализ ваших данных.
In [ ]:
 

1. Многоклассовая классификация:

1.1 На любом датасете продемонстрировать многоклассовую классификацию с помощью ЛЮБОГО алгоритма. Оценить accuracy.

In [ ]:
 

1.2. То же самое с использованием кросс-валидации

In [ ]:
 

1.3. Поиграться с гиперпараметром, связанным со сложностью модели (в случае kNN — k_neighbours) и построить график accuracy для train set и test_set для разных значений гиперпараметра (в лекции есть пример построения подобного графика для kNN и датасета cancer, но можно строить как угодно такой график)

In [ ]:
 

1.4. Построить confusion matrix (это вроде матрицы TN / TP/ FN/ FP, только расширенной для многоклассовой классификации, чтобы понять в какие стороны чаще ошибается классификатор). (пример):

In [ ]:
 

2. Бинарная классификация.

На любом (но уже другом, бинарном) датасете продемонстрировать бинарную классификацию (можно использовать любой алгоритм), посчитать метрики: accuracy, precision, recall, f-measure, а также составить classification_report

In [ ]:
 

3. Использование нормализации признаков В обоих задачах (бинарной и многоклассовой классификации) попробовать также вариант с предварительной нормализацией признаков (StandardScalerили MinMaxScaler). Оценить метрики качества в случае с нормализованными признаками и ненормализованными.

In [ ]: