Наивный байесовский - это тип контролируемого алгоритма обучения, который относится к байесовской классификации. Он использует вероятность для прогнозного анализа.
Доказательство байесовского уравнения:
Если мы рассмотрим два класса A и B, такие что →
Тогда вероятность A при B = P (A | B) =
И вероятность B при A = P (B | A) =
Теперь мы будем использовать это уравнение, чтобы понять, как наивная байесовская классификация работает с различными наборами данных и выполняет работу по классификации за нас.
Области применения наивного байесовского классификатора: →
- Категоризация новостей (спорт, здравоохранение, СМИ, развлечения и т. Д.)
- Фильтрация спама (отнесение писем к спаму или спаму)
- Распознавание лиц и обнаружение объектов
- Медицинский диагноз
- Прогноз погоды
Как работает наивный байесовский алгоритм: →
Чтобы понять, как работает этот алгоритм, мы будем использовать этот набор данных для классификации человека, страдающего сердечным заболеванием или не из определенного места с определенным доходом, в соответствии с отнесением к их полу.
Теперь мы приступим к построению таблиц частоты и вероятности для каждого из независимых столбцов в наборе данных, которые включают город, пол и доход.
Итак, различные вероятности, которые мы получаем из следующей таблицы: -
- P (Даллас | Да) = 2/4 и P (Даллас | Нет) = 2/4
- P (Нью-Йорк | Да) = 1/4 и P (Нью-Йорк | Нет) = 3/4.
- P (Даллас) = 4/8 и P (Нью-Йорк) = 4/8
- P (Да) = 3/8 и P (Нет) = 5/8
Таким образом, вероятность наличия сердечного заболевания указана, город - «Даллас» = P (Да | Даллас) = (P (Да) * P (Даллас | Да)) / P (Даллас) = ( (3/8) * (2/4)) / (4/8) = 0,375 [ Формула, полученная из байесовского уравнения ]
Аналогично, P (Нет | Даллас) = 0,625, P (Да | Нью-Йорк) = 0,18, P (Нет | Город Нью-Йорк) = 0,93
Итак, различные вероятности, которые мы получаем из следующей таблицы: -
- P (Мужской | Да) = 2/5 и P (Мужской | Нет) = 3/5
- P (Женский | Да) = 1/3 и P (Женский | Нет) = 2/3
- P (мужской) = 5/8 и P (женский) = 3/8
- P (Да) = 3/8 и P (Нет) = 5/8
Таким образом, вероятность наличия сердечного заболевания указывается в городе «Мужской» = P (Да | Мужской) = (P (Да) * P (Мужской | Да)) / P (Мужской) = ( (3/8) * (2/5)) / (5/8) = 0,24 [ Формула, полученная из байесовского уравнения ]
Аналогично, P (Нет | Мужской) = 0,6, P (Да | Женский) = 0,33, P (Нет | Женский) = 1,11.
Для тех столбцов, которые не являются категориальными, как столбец «Доход», мы будем использовать формулу Среднее, Стандартное отклонение и Нормальное распределение для расчета вероятности наличия у пациента сердечного заболевания. или не . Формулы имеют следующий вид: →
Для расчета вероятности любого нового значения X, по которому мы будем прогнозировать, есть ли у пациента заболевание сердца или нет, мы сначала вычислим значения среднее и стд. отклонение для столбца доходов в зависимости от наличия сердечного заболевания или не для соответствующего дохода человека. ** Затем мы рассчитаем вероятность того, что человек страдает сердечным заболеванием, или, не используя формулу нормального распределения, используя значение дохода для этого человека, мы должны спрогнозировать болезнь. ** [важно]
Теперь мы готовы к прогнозированию нового тестового набора данных. Итак, если нам нужно предсказать для этого следующее: →
Сначала мы рассчитаем вероятность, значение болезни 100000:
Вероятность того, что человек болен, равна → P (Доход = 10000 | Болезнь = Да) = (1 / (42397,5 * (2,506))) * (2,718) ^ - ((100000 –68386,66) ² / (2 * 42397,5²)) = 0,00000712789
Вероятность того, что человек не болеет, равна → P (Доход = 10000 | Болезнь = Нет) = (1 / (28972,49 * (2,506))) * (2,718) ^ - (( 100000 –79571,8) ² / (2 * 28972,49²)) = 0,0000107421
Прогноз: →
для: X = (Город = Даллас, Пол = Женский, Доход = 100 тыс.)
- P (X | Класс = Нет) = P (Город = Даллас | Класс = Нет) * P (Пол = Женский | Класс = Нет) * P (Доход = 100K | Класс = Нет) = 2 / 4 * 2/3 * 0,00000712789 = 0,00000237596
- P (X | Класс = Да) = P (Город = Даллас | Класс = Да) * P (Пол = Женский | Класс = Да) * P (Доход = 100K | Класс = Да) = 2 / 4 * 1/3 * 0,0000107421 = 0,000001790
** [Поскольку P (X | Нет) * P (Нет) ›P (X | Да) * P (Да)] **. Следовательно, [P (Нет | X)› P (Да | X)] = › Класс = Нет [Важно]. В качестве результата алгоритм выдаст Нет, а для этого тестового набора данных мы будем считать, что у пациента нет болезни сердца.
Самое важное, на что следует обратить внимание: →
** Если в нашем наборе данных есть только категориальные столбцы **, например столбцы «Город» и «Пол». Затем в этом случае мы выполняем следующие шаги: →
для: X = (Город = Даллас, Пол = Женский)
- P (Класс = Нет | X) = P (Класс = Нет | Город = Даллас) * P (Класс = Нет | Пол = Женский) = 0,625 * 1,11 = 0,69375
- P (Класс = Да | X) = P (Класс = Да | Город = Даллас) * P (Класс = Да | Пол = Женский) = 0,375 * 0,33 = 0,12375
- Следовательно, P (Нет) = 0,69375 / (0,69375 + 0,12375) = 0,84862385321 & P (Да) = 0,12375 / (0,69375 + 0,12375) = 0,15137614678.
Поскольку P (Class = No | X) ›P (Class = Yes | X) и, следовательно, [P (No)› P (Да)] = ›Class = No [Важно]. Аналогичным образом алгоритм выдаст Нет как вывод и для этого состояния также и мы будем считать, что у пациента не будет болезни сердца.
Так работает наивный байесовский алгоритм. Надеюсь, вам понравилось читать этот блог. Если у вас есть какие-либо вопросы, комментарии или проблемы, дайте мне знать в разделе комментариев. А пока наслаждайтесь обучением.