См. замечание в конце, оно относится к обоим задачам.
- Многоклассовая классификация:
- На любом датасете продемонстрировать многоклассовую классификацию с помощью ЛЮБОГО алгоритма. Оценить accuracy.
- То же самое с использованием кросс-валидации
- Поиграться с гиперпараметром, связанным со сложностью модели (в случае kNN — k_neighbours) и построить график accuracy для train set и test_set для разных значений гиперпараметра (в лекции есть пример построения подобного графика для kNN и датасета cancer, но можно строить как угодно такой график)
- Построить confusion matrix (это вроде матрицы TN / TP/ FN/ FP, только расширенной для многоклассовой классификации, чтобы понять в какие стороны чаще ошибается классификатор). (пример):
confusion_scores = sklearn.metrics.confusion_matrix( y_test, y_pred )
confusion_df = pd.DataFrame( confusion_scores, columns = iris.target_names, index = iris.target_names )
sns.heatmap( confusion_df, annot = True )
- Бинарная классификация.
На любом (но уже другом, бинарном) датасете продемонстрировать бинарную классификацию (можно использовать любой алгоритм), посчитать метрики: accuracy, precision, recall, f-measure, а также составитьclassification_report
Замечание: в обоих задачах (бинарной и многоклассовой классификации) попробовать также вариант с предварительной нормализацией признаков (StandardScaler
или MinMaxScaler
). Оценить метрики качества в случае с нормализованными признаками и ненормализованными.