{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Семинар 9. Метрики качества классификации. Многоклассовая классификаци\n", "\n", " - коллоквиум 12 апреля\n", " - [вопросы](https://docs.google.com/document/d/17rXxZvS1gjZUwvns-bFrh1lsR2I5HygeNKJm5ZJQd_E/edit#heading=h.fufpprwa66pk) к коллоквиуму\n", " \n", "## Метрики качества классификации\n", "\n", "Очень часто классификатор выдает не сам класс, а некоторую оценку принадлежности к классу (например, логистическая регрессия выдает вероятность). Тогда итоговый классификатор имеет вид: $$a(x) = [b(x) > t]$$ где $b(x)$ — ответ классификатора (оценка принадлежности классу +1), $t$ — некоторый фиксированный порог.\n", "\n", "Это позволяет варьировать значение $t$, тем самым меняя качество: \n", " - чем больше $t$, тем выше точность, но ниже полнота\n", " - чем меньше $t$, тем выше полнота, но ниже точность\n", " \n", "Рассмотрим задачу кредитного скоринга в немного другой интерпретации: по некоторой банковской информации необходимо понять, будет ли испытывать клиент финансовые затруднения в будущем. Данные взяты из [этого](https://www.kaggle.com/c/GiveMeSomeCredit) соревнования. Целевая переменная *SeriousDlqin2yrs* — 1 если финансовые затруднения будут, 0 в противном случае." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import pylab as plt\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | SeriousDlqin2yrs | \n", "RevolvingUtilizationOfUnsecuredLines | \n", "age | \n", "NumberOfTime30-59DaysPastDueNotWorse | \n", "DebtRatio | \n", "MonthlyIncome | \n", "NumberOfOpenCreditLinesAndLoans | \n", "NumberOfTimes90DaysLate | \n", "NumberRealEstateLoansOrLines | \n", "NumberOfTime60-89DaysPastDueNotWorse | \n", "NumberOfDependents | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "0.000000 | \n", "39 | \n", "0 | \n", "0.371156 | \n", "6600 | \n", "6 | \n", "0 | \n", "1 | \n", "0 | \n", "3 | \n", "
1 | \n", "0 | \n", "0.047902 | \n", "69 | \n", "1 | \n", "2988.000000 | \n", "0 | \n", "9 | \n", "0 | \n", "2 | \n", "0 | \n", "0 | \n", "
2 | \n", "0 | \n", "0.005831 | \n", "88 | \n", "0 | \n", "0.001946 | \n", "9763 | \n", "8 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
3 | \n", "0 | \n", "0.000000 | \n", "62 | \n", "0 | \n", "0.459369 | \n", "3900 | \n", "7 | \n", "0 | \n", "1 | \n", "0 | \n", "1 | \n", "
4 | \n", "0 | \n", "0.000000 | \n", "48 | \n", "0 | \n", "0.225303 | \n", "7500 | \n", "14 | \n", "0 | \n", "2 | \n", "0 | \n", "1 | \n", "