这是综合分类数据集,其中红色和蓝色显示了来自两个类别的数据。蓝色类别是从单个高斯生成的,而红色类别是从两个高斯的混合生成的。
由于我们具有先验概率(p(C0)= 0.5和p(C1)= 0.5)和类条件概率(单个高斯p(x | C0)和两个高斯p(x | C)的混合, 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,但是如何明确表示曲线呢?