KLASIFIKASI UNSUPERVISED R PROGRAMMING

Klasifikasi citra merupakan salah satu bagian yang penting dalam analisis citra penginderaan jauh. Dalam proses klasifikasi kita mendapatkan informasi tertentu yang didapat dari beberapa saluran citra atau hasil dari ekstraksi citra misalnya indeks vegetasi atau PCA. Klasifikasi citra dapat dibagi menjadi dua yaitu supervised dan unsupervised.  Tutorial – tutorial sebelumnya menjelaskan bagaimana klasifikasi unsupervised dijalankan.

Munculkan library r yang kita butuhkan, yaitu library raster dan randomforest dan cluster.

r-0901

Selanjutnya, munculkan citra kita melalui fungsi brick() dan kemudian kita dapat memunculkan komposit warna atau saluran tunggal melalui fungsi plotRGB() dimana dalam kurung kita isikan citra kita yaitu r, kemudian kita masukkan nama saluran untuk membebntuk komposit warna, jika kita ingin membuat komposit warna asli maka r (red) kita isikan  4, g(green) kita isikan 5 dan b(blue) kita isikan 1. Kita juga dapat mengaplikasikan penajaman citra misal linier, yaitu dengan menambahkan stretch = “lin”.

r-0902

Hasilnya adalah komposit warna yang mencoba menonjolkan semua objek, dimana kita dapat interpretasi bahwa vegetasi berwarna orange, lahan terbangun berwarna hijau muda, jalan – jalan kota Jogjakarta juga terlihat jelas, dan sawah yang masih basah menunjukkan ungu gelap.

r-0903

Kali ini kita akan membahas tutorial bagaimana menjalankan klasifikasi unsupervised dan perlu diperhatikan bahwa dalam klasifikasi baik unsupervised maupun supervised banyak jenis algoritma untuk klasifikasi tersedia dan pilihan kita terhadap algoritma tersebut berdampak terhadap hasil klasifikasi kita. Kita akan mencoba tiga algoritma klasifikasi unsupervised, yaitu K-means, Clara, dan Randomforest (kenapa kita membutuhkan library randomforest). Pertama kita butuh untuk mengekstraks seluruh nilai dalam satu set citra kita menggunakan fungsi getvalues() dan kita butuh menggunakan fungsi atau argument na.omit() untuk menghilangkan piksel yang tidak memiliki nilai atau NA.

r-0904

Pada klasifikasi unsupervised kita tidak membutuhkan training data atau sample data. Klasifikasi tersebut berguna ketika kita tidak mengetahui wilayah yang kita kaji sebelumnya. Pertama kita akan mencoba menggunakan algoritma klasifikasi K-means menggunakan fungsi kmeans(). K-means akan membagi data menjadi beebrapa kluster berdasarkan jarak euclidean pada feature space.  Fungsi K-means berisi kmeans(v, 3, iter.max=100, nstart= 10) dimana v merupakan satu set citra kita, 3 merupakan jumlah kluster, iter.max adalah iterasi atau berapa kali diulang algoritma tersebut sampai mendapatkan kluster yang sesuai, dan nstart merupakan jumlah kluster mulai.

r-0905

Jika sudah untuk mengeplotkan data kita membutuhkan fungsi plot(), dan berikut adalah hasilnya dimana kita dapat melihat bahwa terdapat tiga warna utama hijau, putih, dan kuning meskipun legenda dari hasil klasifikasi tersebut berupa nilai kontinu. Untuk mengetahui hasil klasifikasi kita harus membandingkannya dengan citra komposit yang telah kita buat sebelumnya.

r-0906

Kedua kita akan mencoba algoritma klasifikasi CLARA (Clustering for Large Applications) yang dikembangkan oleh Kaufman and Rousseeuw (1990). Algoritma ini fokus pada mengelompokkan objek yang banyak (large data set) dari pada objek yang sedikit atau kecil (small data set) dalam dimensi yang tinggi. Algoritma ini bekerja dengan mengelompokkan beberapa sampel dari data set dan kemudian memasukkan seluruh objek di dalam data set ke dalam kluster. Lebih jelas baca CLARA. Untuk membuat CLARA kita memerlukan fungsi clara(). Clara(v, 3, sample= 500, matric=”manhattan”, pamLike=T) dimana v merupakan satu data set citra, 3 merupakan jumlah kluster yang kita butuhkan, sample 500 adalah sample yang kita butuhkan, dan matric manhattan merupakan algoritma untuk mengklasifikasikan yang sebenernya ada dua jenis yaitu Euclidian dan manhattan. Sedangkan untuk pamLike pilih TRUE.

r-0907

Jika sudah untuk mengeplotkan data kita membutuhkan fungsi plot(), dan berikut adalah hasilnya dimana kita dapat melihat bahwa terdapat tiga warna utama hijau, putih, dan kuning meskipun legenda dari hasil klasifikasi tersebut berupa nilai kontinu. Untuk mengetahui hasil klasifikasi kita harus membandingkannya dengan citra komposit yang telah kita buat sebelumnya.

r-0908

Selanjutnya kita akan mencoba algoritma klasifikasi randomforest dan berikut adalah codenya.

r-0909

Jika sudah untuk mengeplotkan data kita membutuhkan fungsi plot(), dan berikut adalah hasilnya dimana kita dapat melihat bahwa terdapat tiga warna utama hijau, putih, dan kuning meskipun legenda dari hasil klasifikasi tersebut berupa nilai kontinu. Untuk mengetahui hasil klasifikasi kita harus membandingkannya dengan citra komposit yang telah kita buat sebelumnya.

r-0910

Sumber : https://geoscripting-wur.github.io/AdvancedRasterAnalysis/

remote-sensing.eu

*** SEMOGA BERMANFAAT ***

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s