Как построить два одномерных распределения Гаусса вместе с границей классификации [Matlab]?

У меня есть два класса (нормально распределенные), C1 и C2, каждый из которых определяется их средним значением и стандартным отклонением. Я хочу иметь возможность визуализировать график нормального распределения в формате PDF и границу классификации между ними. В настоящее время у меня есть код для построения распределений, но я не уверен, как построить границу решения. Любые идеи были бы хорошы. Я включил образец того, что я хочу построить. 1

Большое спасибо!


person Ferial    schedule 20.04.2013    source источник


Ответы (1)


Вот что я придумал:

% Generate some example data
mu1 = -0.5; sigma1 = 0.7; mu2 = 0.8; sigma2 = 0.5;
x = linspace(-8, 8, 500);
y1 = normpdf(x, mu1, sigma1);
y2 = normpdf(x, mu2, sigma2);

% Plot it
figure; plot(x, [y1; y2])
hold on

% Detect intersection between curves; choose threshold so you get the whole 
% intersection (0.0001 should do unless your sigmas are very large)
ind = y1 .* y2 > 0.0001;
% Find the minimum values in range
minVals = min([y1(ind); y2(ind)]);

if ~isempty(minVals)
    area(x(ind), minVals)
end

Я не знаю, лучший ли это способ сделать то, что вы хотите, но, похоже, он работает.

person wakjah    schedule 21.04.2013