Friday, September 6, 2019

buku belajar machine learning dengan matlab - Smoothing The Data and Find Major Peaks


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di   http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-smoothing-the-data-and-find-major-peaks/



 Source: https://www.coldwellbankerhomes.com/ut/heber-city/2181-e-signal-peak-ct-lot-771/pid_32077326/

Sinopsis

Latar belakang tulisan ini dibuat ketika Penulis menjumpai sebuah plot data tidak semulus yang dibayangkan yaitu  Projected Integral Image. Data yang secara real didapatkan akan banyak terdapat beberapa gangguan sehingga plot data tersebut tidak semulus apa yang kita harapkan, oleh hal tersebut, maka diperlukan beberapa hal kecil untuk mengubahnya agar lebih smooth. Sebuah plot grafik terkadang dijumpai dalam kondisi yang noise seperti berikut:



Bila dilihat sekilas, maka banyak ‘gerigi’ atau noise yang cukup mengganggu agar bisa dihilangkan, sehingga find peak dapat ditentukan dengan lebih akurat.


Bila dibandingkan dengan data tersebut di ‘smooth’ menggunakan operasi konvolusi berikut ini



Maka hasilnya akan terlihat lebih ‘clear’ serta pencarian peak menjadi lebih presisi, jika kalian ingin mencoba operasi diatas menggunakan kernel gaussian. Kalian bisa menggunakan kode berikut



clc;clear all;close all;
data = load('data.txt');
g = gausswin(30); % <-- this value determines the width of the smoothing window
g = g/sum(g);
data2 = conv(data, g, 'same');
[pks,locs] = findpeaks(data2,1:length(data2),'MinPeakDistance',20,'MinPeakWidth',10);
 
figure()
plot(data2);
xlabel('x','fontsize',18);
xticks([0:50:length(data)+100])
xtickangle(45)
yticks([]);
grid on;
title('Data Sinyal')
hold on;
text(locs+.02,pks,num2str((1:numel(pks))'))



No comments:

Post a Comment