Anda di halaman 1dari 2

function banyak_kelas

output parameter ya, tidak


input parameter x

ya = 0;
tidak = 0;

for i = 1 to n
if x(i, 1) = 'Ya'
ya = ya + 1;
else
tidak = tidak + 1;
next i

end

function himpunan kelas data


output parameter ya, tidak
input parameter numerik, kategorial, c

ya = [];
tidak = [];

for i = 1 to n
if (kategorial(i, 1) = 'Ya')
ya = [ya numerik(i, c)];
else
tidak = [tidak numerik(i, c)];
next i

end

function deviasii
output parameter hasil
input parameter x, mean

jml_selisih = 0;

for i = 1 to n
selisih = (x(i) - mean)^2;
jml_selisih = jml_selisih + selisih;
next i

hasil = sqrt(jml_selisih / length(x));

end

function densitas
output parameter hasil
input parameter x, mean, dev

temp1 = 1 / (dev * (sqrt(2 * 3.14)));


temp2 = exp(-(x - mean)^2 / (2 * dev^2));

hasil = temp1 * temp2;

end

file script
clear
clc

% import data excel secara kategorial dan numerik


[~, kategorial] = ...
numerik = ...

% hitung jumlah kelas ya dan tidak dari atribut rekomendasi (C4) atau data
kategorial
[ya, tidak] = panggil fungsi banyak kelas;

% dapatkan himpunan kelas ya dan tidak dari atribut C1, C2, dan C3.
[himpunanC1Ya, himpunanC1Tidak] = himpunan_kelas_data(numerik, kategorial, 1);
[himpunanC2Ya, himpunanC2Tidak] = panggil fungsi himpunan kelas data;
...

% dapatkan rata-rata dari himpunan kelas data masing-masing atribut


meanC1Ya = mean(himpunanC1Ya);
meanC1Tidak = mean(himpunanC1Tidak);
meanC2Ya = mean(himpunanC2Ya);
...

% dapatkan hasil standar deviasi dari kelas ya dan tidak masing-masing atribut
stdC1Ya = deviasii(himpunanC1Ya, meanC1Ya);
stdC1Tidak = deviasii(himpunanC1Tidak, ...);
stdC2Ya = panggil fungsi deviasi;
...

% hitung fungsi densitas dari masing-masing atribut


% dimana x yang diuji adalah : baterai (C1) = 28, kamera (C2) = 4, dan harga (C3) =
2.
densitasC1Ya = panggil fungsi densitas; % contoh pemanggilan : densitas(28,
meanC1Ya, stdC1Ya);
densitasC1Tidak = panggil fungsi densitas;
densitasC2Ya = panggil fungsi densitas;
...

% hitung likelihood
likelihoodYa = densitasC1Ya * densitasC2Ya * ... * (ya / n);
likelihhoodTidak = ...

% dapatkan probabilitas kelas data ya dan tidak


probYa = likelihoodYa / (likelihoodYa + likelihoodTidak);
probTidak = ...

% tampilkan hasil klasifikasi


if (probYa > probTidak)
tampil(direkomendasikan)
else
tampil(tidak direkomendasikan)

Anda mungkin juga menyukai