CLUSTERING TWEET
MENGGUNAKAN BAHASA PEMROGRAMAN R
Disusun Oleh :
Arif Budi Setiawan (15.01.53.0064)
Saiful Budi Yanto (15.01.53.0081)
A. K-means
K-means merupakan salah satu algoritma clustering .Tujuan algoritma ini
yaitu untuk membagi data menjadi beberapa kelompok. Algoritma ini
menerima masukan berupa data tanpa label kelas. Hal ini berbeda dengan
supervised learning yang menerima masukan berupa vektor (x1 , y1) , (x2 , y2)
, …, (xi , yi), di mana xi merupakan data dari suatu data pelatihan dan yi
merupakan label kelas untuk xi.
Pada algoritma pembelajaran ini, komputer mengelompokkan sendiri data-
data yang menjadi masukannya tanpa mengetahui terlebih dulu target kelasnya.
Pembelajaran ini termasuk dalam unsupervised learning. Masukan yang
diterima adalah data atau objek dan k buah kelompok (cluster) yang
diinginkan. Algoritma ini akan mengelompokkan data atau objek ke dalam k
buah kelompok tersebut. Pada setiap cluster terdapat titik pusat (centroid) yang
merepresentasikan cluster tersebut.
Data clustering menggunakan metode K-Means ini secara umum dilakukan
dengan
algoritma dasar sebagai berikut (Yudi Agusta, 2007) :
1. Tentukan jumlah cluster
2. Alokasikan data ke dalam cluster secara random
3. Hitung centroid/ rata-rata dari data yang ada di masing-masing cluster
4. Alokasikan masing-masing data ke centroid/ rata-rata terdekat
5. Kembali ke Step 3, apabila masih ada data yang berpindah cluster atau
apabila perubahan nilai centroid, ada yang di atas nilai threshold yang
ditentukan atau apabila perubahan nilai pada objective function yang
digunakan di atas nilai threshold yang ditentukan.
Distance Space Untuk Menghitung Jarak Antara Data dan Centroid:
Beberapa distance space telah diimplementasikan dalam menghitung jarak
(distance) antara data dan centroid termasuk di antaranya
L1 (Manhattan/City Block) distance space,
L2 (Euclidean) distance space, dan
Lp (Minkowski) distance space.
Jarak antara dua titik x1 dan x2 pada Manhattan/City Block distance space
dihitung dengan menggunakan rumus sebagai berikut:
dimana:
p : Dimensi data
Lp (Minkowski) distance space yang merupakan generalisasi dari beberapa
distance space yang ada seperti L1 (Manhattan/City Block) dan L2
(Euclidean), juga telah diimplementasikan[9]. Tetapi secara umum distance
space yang sering digunakan adalah Manhattan dan Euclidean. Euclidean
sering digunakan karena penghitungan jarak dalam distance space ini
merupakan jarak terpendek yang bisa didapatkan antara dua titik yang
diperhitungkan, sedangkan Manhattan sering digunakan karena
kemampuannya dalam mendeteksi keadaan khusus seperti keberadaaan
outliers dengan lebih baik.
Di mana:
µk = titik centroid dari cluster ke-K
Nk = banyaknya data pada cluster ke-K
xq = data ke-q pada cluster ke-K
Penelitian ini menggunakan data-data teks pada media sosial twitter yang
berkaitan dengan kata kunci “gempa”. Tujuan akhir penelitian ini adalah dapat
mendeskripsikan topik utama dan kata - kata yang melekat pada “gempa”, serta
mengelompokkan topik - topik lain yang saling berkaitan. Populasi dari penelitian ini
adalah berita/dokumen (teks) pada sosial media twitter yang termasuk dalam kategori
microblogging tentang“gempa”. Tweet-tweet pengguna pada twitter dapat dijadikan
sebagai topik-topik pada media online. Sampel dan Teknik Pengambilan Sampel
Sampel yang diambil adalah data teks dari twitter yang diambil dengan permintaan
kepada sistem sebanyak 250 tweet pada periode waktu tertentu.
Sumber Data dan Metode Pengumpulan Data Data yang digunakan adalah data
primer yang dikumpulkan dari media sosial twitter. Data diambil dengan cara
mendownload dan mengumpulkan data tweet mengenai banjir dari hasil pencarian
search engine twitter (mesin pencarian twitter) dan menyimpannya menggunakan
suatu program dengan software “R”. Tahapan Analisis Data Secara umum, tahapan
melakukan analisis text mining dapat digambarkan dalam diagram alir berikut :
BAB IV
HASIL DAN PEMBAHASAN
Contoh scriptnya :
install.packages("twitteR")
install.packages("ROAuth")
install.packages("tm")
install.packages("ggplot2")
install.packages("wordcloud")
install.packages("plyr")
install.packages("RTextTools")
install.packages("devtools")
install.packages("e1071")
install.packages("fpc")
install.packages("cluster")
install.packages("datasets")
require(devtools)
library(e1071)
library(twitteR)
library(ROAuth)
library(tm)
library(ggplot2)
library(wordcloud)
library(plyr)
library(RTextTools)
library(fpc)
library(cluster)
library(datasets)
setup_twitter_oauth("q1ATA2ImBZOUTNFBFHCHDoJs6",
"3njn5BzMHWlhUhiqXCKzACykXuYjdMbVewOKVjfFvPweCpC1tC", "95430546-
unT9Yx0Y9ucvMHYdWgPSvJ0jwzbekDVxwFZCYLRw0","If0u2IIJK9ngH1nnAO
QYMbwP6terDAoMpKp6Xko8OuFMu")
#WORDCLOUD
m <- as.matrix(tdm)
# calculate the frequency of words and sort it by frequency
word.freq <- sort(rowSums(m), decreasing = T)
# colors
pal <- brewer.pal(9, "BuGn")[-(1:4)]
Hirarki
Clustering dengan pendekatan hirarki mengelompokkan data yang mirip dalam hirarki
yang sama dan yang tidak mirip di hirarki yang agak jauh. Ada dua metode yang
sering diterapkan yaitu agglomerative hieararchical clustering dan divisive
hierarchical clustering. Agglomerative melakukan proses clustering dari N cluster
menjadi satu kesatuan cluster, dimana N adalah jumlah data, sedangkan divisive
melakukan proses clustering yang sebaliknya yaitu dari satu cluster menjadi N cluster.
Contoh scriptnya :
install.packages("twitteR")
install.packages("ROAuth")
install.packages("tm")
install.packages("ggplot2")
install.packages("wordcloud")
install.packages("plyr")
install.packages("RTextTools")
install.packages("e1071")
library(e1071)
library(twitteR)
library(ROAuth)
library(tm)
library(ggplot2)
library(wordcloud)
library(plyr)
library(RTextTools)
library(e1071)
setup_twitter_oauth("q1ATA2ImBZOUTNFBFHCHDoJs6",
"3njn5BzMHWlhUhiqXCKzACykXuYjdMbVewOKVjfFvPweCpC1tC", "95430546-
unT9Yx0Y9ucvMHYdWgPSvJ0jwzbekDVxwFZCYLRw0","If0u2IIJK9ngH1nnAO
QYMbwP6terDAoMpKp6Xko8OuFMu")
Adiyana Imam dan Fajriya Hakim, 2015 Implementasi text nining pada mesin
pencarian twitter untuk menganalisis topik-topik terkait KPK dan JOKOWI,
Jurnal Prosiding Pendidikan Matematika UMS
Zhao, Yanchang 2011. R and Data Mining: Examples and Case Studies. Elsevier.
sumber: http://www.rdatamining.com/examples/kmeans-clustering
(29 November 2017)
Agusta Yudi, 2007. K-Means – Penerapan Permasalahan dan Metode Terkait, Jurnal
Sistem dan Informatika Vol. 3 (Pebruari 2007), 47-60.
https://www.academia.edu/33311024/KMeans_PAM_Hirarki.docx