Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all
- clc
- %%
- mu_1 = [0 0];
- mu_2 = [1 2];
- sigma = [.8 0;0 .8];
- prior = 0.7; p = 1;q = 1;r = 1;
- for i = 1 : 3000
- rnd = unifrnd (0, 1);
- if (rnd < prior)
- data (i, [1 2 3]) = [mvnrnd (mu_1', sigma, 1) 1];
- else
- data (i, [1 2 3]) = [mvnrnd (mu_2', sigma, 1) 2];
- end
- end
- training_data = data (1 : 2000, :);
- class_1 = data (find (training_data (:, 3) == 1), :);
- class_2 = data (find (training_data (:, 3) == 2), :);
- testdataclassified = data(2001:3000,:);
- testset = data(2001:3000,[1 2]);
- plot (class_1 (:, 1), class_1 (:, 2), 'g.')
- hold on
- plot (class_2 (:, 1), class_2 (:, 2), 'r.')
- %%
- mean_1 = mean (class_1 (:, [1 2]));
- mean_2 = mean (class_2 (:, [1 2]));
- covariance_1 = cov (class_1 (:, [1 2]));
- covariance_2 = cov (class_2 (:, [1 2]));
- %%
- [x, y] = Euclidclassifier (testset, mean_1, mean_2);
- euclidclass = [x, y'];
- delta_euclid = (euclidclass (:, [3]) == testdataclassified (:, [3]));
- error_euclid = sum (delta_euclid == 0) / 1000 * 100
- display (error_euclid);
- %%
- [x, y] = Mahalnobisclassifier (testset, mean_1, mean_2, covariance_1, covariance_2);
- mahalnobisclass = [x y'];
- delta_mahalanobis = (mahalnobisclass (:, [3]) == testdataclassified (:, [3]));
- error_mahalanobis = sum (delta_mahalanobis == 0) / 1000 * 100
- display (error_mahalanobis);
Advertisement
Add Comment
Please, Sign In to add comment