![Two classes dataset](https://i.stack.imgur.com/vbdH4.png)
Это синтетическая классификация данных с данными из двух классов, показанных красным и синим цветом. Синий класс создается из одного гауссиана, а красный - из смеси двух гауссиан.
Поскольку у нас есть априорные вероятности (p (C0) = 0,5 и p (C1) = 0,5) и условно-классовые вероятности (один гауссовский p (x | C0) и смесь двух гауссианов p (x | C1)), мы можем вычислить истинные апостериорные вероятности и построить контурные линии и заполненные контуры, как показано справа. Но как изобразить границу минимального решения по ошибочной классификации (зеленая линия)?
Данные генерируются как:
import numpy as np
import matplotlib.pyplot as plt
def create_toy_data(mu1, mu2, mu3, sigma1, sigma2, sigma3):
x0 = np.random.multivariate_normal(mu1, sigma1, 100)
x1 = np.random.multivariate_normal(mu2, sigma2, 50)
x2 = np.random.multivariate_normal(mu3, sigma3, 50)
return np.concatenate([x0, x1, x2]), np.concatenate([np.zeros(100, dtype='int'), np.ones(100, dtype='int')])
Я знаю, что минимальная граница принятия решения о степени ошибочной классификации равна p (C0 | x) = p (C1 | x) = 0,5, но как представить кривую в явном виде?