На прошлой неделе мы увидели некоторые способы оценки модели обучения машины, но они были только для задач классификации. Давайте посмотрим другой способ оценки одного, а затем сосредоточиться на оценках модели регрессии.
Оглавление:
- Путаница матрицы
- Регрессионные модели оценщиков
- Коэффициент детерминации
- Средняя абсолютная ошибка (МАЭ)
- Ошибка среднего квадрата (MSE)
- Когда их использовать?
- Использование параметра очков
Путаница матрицы
Путаница Matrix – это способ сравнить, что прогнозировалось машина с тем, что это было Предполагается Чтобы предсказать, он получает это имя, потому что позволяет нам знать, где модель растеряется и предсказывает метку вместо другой. Используя тот же оценок прошлая неделя Мы уже можем импортировать то, что нам нужно:
from sklearn.model_selection import train_test_split from sklearn.svm import SVC X = iris_df.drop('target', axis = 1) y = iris_df['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = .15) clf = SVC() clf.fit(X_train, y_train) y_preds = clf.predict(X_test)
Теперь мы можем импортировать функцию, чтобы сделать путаницу матрицы:
Но что это значит? Он основан на ложных положительных показателях (для) и истинной положительной ставки (TPR), которую мы видели в последнем посте. Каждая клетка матрицы указывает, правильно ли предсказана модель или нет класс. Мы можем иметь быстрый обзор с функцией Pandas Crosstab. :
Зная, что 0, 1, и 2 – наши этикетки Setosa, Versicolor и Virginica, мы видим, где модель предсказала правую этикетку и где неправильный. Сохранив результат Confuncude_Matrix
функция в conf_mat
Мы даже можем импортировать морской Библиотека, чтобы построить его совершенно модным способом:
Регрессионные модели оценщиков
До сих пор мы видели только как оценить классификационную модель и как использовать оценку двоичной классификации для классификации нескольких классов. Оценка модель регрессии намного проще, чем то, что мы уже имели, несмотря на то, что они жизненно важны для машинного обучения в целом
Коэффициент детерминации
Коэффициент определения или R ^ 2 (R-квадрат) является Оценка
Метод, который мы видели из начала серии, но давайте понять, как это работает. Давайте начнем импортировать регрессионный набор данных: Вы можете найти данные здесь Глядя на данные, мы знаем, что у нас есть все случаи ветряного оспа в Венгрии, разделенном на районы округа. Мы хотим предсказать общие случаи, основанные на том, сколько случаев были в каждом графстве. Мы создадим столбцу с общим случаем на каждый день, чтобы сделать, чтобы нам нужна одна строка кода:
chickenpox['total'] = chickenpox.sum(axis = 1)
Это создаст дополнительную колонку с суммой всех случаев в каждом ряду: теперь мы можем поместиться и тренировать нашу модель:
Результатом является то же самое, что мы уже увидели тысячи времен: число от 0,0 до 1,0, которые соответствуют проценту. Коэффициент определения сравнивает каждый прогноз с тестовой меткой. Мы можем использовать выделенную функцию из библиотеки, чтобы рассчитать ее:
Поскольку баллы R-квадрата сравнивают две многомерные массивы, если мы сравним тест с собой, мы получим счет 100%: 1.0
Средняя абсолютная ошибка (МАЭ)
Среднее значение абсолютной ошибки рассчитывает абсолютное разность между каждым фактическим значением и всеми предсказанными: Абсолютно означает, что каждое число положительное, поэтому полный способ сделать датафарам: Для завершения этой оценки мы должны просто рассчитать среднее значение Разница
столбец. Давайте сравним наши Placs с выделенной функцией: И из того, что мы видим, мы все сделали правильно. МАЭ сообщает нам диапазон ошибки нашей модели, посредством этой оценки, теперь мы знаем, что ошибки нашего модельного диапазона между 74 и -74.
Ошибка среднего квадрата (MSE)
Ошибка средней квадраты идентична МАЭ, но каждое значение Разница
Колонка в квадрате:
Когда их использовать?
- R-Squared используется для точности, но не говорит вам, где модель делает не так.
- Мэ дает хорошее указание о том, насколько неверно ваша модель является
- MSE усиливает большие различия, чем МАЭ
В этом случае, если 200 случаев в два раза больше, чем 100 случаев, мы могли бы использовать MAE, но если заболевание имеет очень высокую скорость передачи, то 200 случаев было бы более чем в два раза больше, чем 100, и мы должны уделять больше внимания MSE.
Использование параметра очков
Мы можем иметь те же результаты, используя функцию перекрестной оценки и изменение параметра оценки:
Для полного списка вы можете пойти здесь
Последние мысли
Мы увидели все самые важные способы оценки нашей модели обучения машины, избегая использования функций метрик, не зная, что они делают. Если у вас есть какие-либо сомнения, не стесняйтесь оставить комментарий.
Оригинал: “https://dev.to/gabrieleboccarusso/how-i-am-learning-machine-learning-week-10-evaluating-a-model-in-scikit-learn-part-2-idg”