Klastering Twitter dengan Bahasa R
LAPORAN
KLUSTERING PADA TWITTER MENGGUNAKAN BAHASA PEMROGRAMAN
“R”
Disusun Oleh :
Rr. Binar
Novicha P.
16.01.63.0002
UNIVERSITAS STIKUBANK
SEMARANG (UNISBANK)
FALKUTAS TEKNOLOGI
INFORMASI
TEKNIK
INFORMATIKA
2018
BAB I
PENDAHULUAN
1.1
Deskripsi
Permasalahan
Sebagai makhluk sosial, manusia
tidak lepas dari kebutuhan dasar untuk bersosialisasi. Sosialisasi secara umum
adalah proses belajar individu untuk mengenal dan menghayati norma-norma serta
nilai-nilai sosial sehingga terjadi pembentukan sikap untuk berperilaku sesuai
dengan tuntutan atau perilaku masyarakatnya. Salah satu cara bersosialisasi
dapat dilakukan melalui komunikasi verbal maupun non verbal dan secara langsung
ataupun tidak langsung. Melalui komunikasi antar individu dapat bertukar kabar
atau berita yang menghasilkan suatu informasi.
Berkhin (2006) menyatakan salah
satu metode yang diterapkan dalam KDD adalah clustering. Clustering adalah
membagi data ke dalam grup-grup yang mempunyai obyek yang karakteristiknya
sama. Garcia (2002) menyatakan clustering adalah mengelompokkan item data ke
dalam sejumlah kecil grup sedemikian sehingga masing-masing grup mempunyai
sesuatu persamaan yang esensial.
Andayani (2007) menyatakan
clustering memegang peranan penting dalam aplikasi data mining, misalnya eksplorasi
data ilmu pengetahuan, pengaksesan informasi dan text mining, aplikasi basis
data spasial, dan analisis web. Clustering diterapkan dalam mesin pencari di
Internet. Web mesin pencari akan mencari ratusan dokumen yang cocok dengan kata
kunci yang dimasukkan. Dokumendokumen tersebut dikelompokkan dalam
cluster-cluster sesuai dengan kata-kata yang digunakan.
Du (2010) menjelaskan bahwa
klasterisasi adalah proses membagi data yang tidak berlabel menjadi
kelompok-kelompok data yang memiliki kemiripan. Misalkan K adalah jumlah
klaster, C merupakan label klaster, dan P merupakan dataset.
Twitter adalah jejaring sosial
berupa blog ukuran kecil yang didirikan oleh Jack Dorsey pada bulan Maret 2006.
Melalui Twitter pengguna dapat mengirim dan membaca pesan, berbagi informasi,
menjalin relasi bisnis, menuangkan isi hati dan pikiran dalam bentuk tulisan
(sering disebut tweet), dengan kapasitas kata yang bisa diunggah dan
ditampilkan pada timeline penggunatwitter mencapai 140 karakter. Sama halnya
dengan situs jejaring sosial lain dalam Twitter disediakan suatu mesin
pencarian (search engine) yang berguna untuk mempermudah pengguna dalam
menemukan informasi menggunakan kata kunci. Melalui search engine pengguna
dapat menemukan lebih banyak informasi yang dibutuhkan terkait topik yang ingin
dicari, yaitu lebih dari satu akun yang ada di twitter. Twitter sebagai hasil
dari perkembangan teknologi informasi memungkinkan setiap waktu untuk
menghasilkan kumpulan data yang banyak, dimana setiap detiknya pada saat
kehidupan normal rata-rata jumlah tweet yang ada dalam twitter adalah 600
tweet. Hal tersebut tidak berlaku jika suatu waktu terjadi peristiwa-peristiwa
tertentu yang menyebabkan peningkatan atau penurunan rata-rata jumlah tweet
perdetiknya. Dengan adanya kumpulan data yang terus meningkat setiap waktunya
yaitu berupa data tweet perlu dilakukan suatu penangan menggunakan metode
khusus untuk mengalisis data pada twitter sehingga menghasilkan suatu informasi
yang bermanfaat dan mengurangi kondisi yang biasa disebut “rich of data but
poor of information”.
1.2
Rumusan Masalah
Berdasarkan latar belakang di atas
maka rumusan masalahnya adalah bagaimana penjelasan mengenai Klustering K-means dan implementasinya
menggunakan bahasa “R”.
1.3 Tujuan Penulisan
Adapun tujuan dari
penulisan ini adalah untuk mengklasifikasikan
Klustering K-means pada
sebuah twitter menggunakan bahasa “R”.
BAB II
TINJAUAN PUSTAKA
Pada bagian ini akan dipaparkan penjelasan tentang tinjauan pustaka yang
dipakai dalam penjelasan mengenai Klustering K-means, implementasinya
menggunakan bahasa R.
1.1
Kajian
Deduktif
Data
Clustering merupakan salah satu metode Data Mining yang bersifat
tanpa arahan (unsupervised). Ada dua jenis data clustering yang sering dipergunakan dalam proses pengelompokan data yaitu
hierarchical (hirarki) data
clustering dan non-hierarchical (non
hirarki) data clustering. K-Means merupakan salah satu metode data clustering non hirarki
yang berusaha mempartisi data yang ada ke dalam
bentuk satu atau lebih cluster/kelompok.
Metode ini mempartisi data ke dalam
cluster/kelompok sehingga
data yang memiliki
karakteristik yang sama dikelompokkan ke dalam
satu cluster yang sama dan data yang
mempunyai karakteristik yang berbeda dikelompokkan ke dalam
kelompok yang lain. Adapun tujuan dari data clustering
ini adalah untuk meminimalisasikan objective function yang
diset
dalam proses clustering, yang pada umumnya
berusaha
meminimalisasikan
variasi di dalam suatu cluster dan memaksimalisasikan variasi antar cluster.
A.
Algoritma
K-means
Algoritma
K-Means merupakan algoritma klasterisasi yang mengelompokkan data berdasarkan
titik pusat klaster (centroid) terdekat dengan data. Tujuan dari K-Means adalah
pengelompokkan data dengan memaksimalkan kemiripan data dalam satu klaster dan
meminimalkan kemiripan data antar klaster. Ukuran kemiripan yang digunakan
dalam klaster adalah fungsi jarak. Sehingga pemaksimalan kemiripan data
didapatkan berdasarkan jarak terpendek antara data terhadap titik centroid.
Tahapan awal
yang dilakukan pada proses klasterisasi data dengan menggunakan algoritma
K-Means adalah pembentukan titik awal centroid cj Pada umumnya pembentukan
titik awal centroid dibangkitkan secara acak. Jumlah centroid cj yang
dibangkitkan sesuai dengan jumlah klaster yang ditentukan di awal. Setelah k
centroid terbentuk kemudian dihitung jarak tiap data xi dengan centroid ke-j
sampai k, dinotasikan dengan d (xi,cj). Terdapat beberapa ukuran jarak yang
digunakan sebagai ukuran kemiripan suatu instance data, salah satunya adalah
jarak Euclid.
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.
Pembaharuan suatu titik centroid
dapat dilakukan dengan rumus berikut:
Ø Kekurangan dan
Kelebihan K-Means
Ada beberapa kelebihan pada
algoritma k-means, yaitu:
a.
Mudah untuk
diimplementasikan dan dijalankan.
b.
Waktu yang dibutuhkan
untuk menjalankan pembelajaran ini relatif cepat.
c.
Mudah untuk diadaptasi.
d.
Umum digunakan.
Algoritma k-means memiliki beberapa
kelebihan, namun ada kekurangannya juga.
Kekurangan dari algoritma tersebut yaitu :
a.
Sebelum algoritma dijalankan,
k buah titik diinisialisasi secara random sehingga pengelompokkan data yang
dihasilkan dapat berbeda-beda. Jika nilai random untuk inisialisasi kurang
baik, maka pengelompokkan yang dihasilkan pun menjadi kurang optimal.
b.
Dapat terjebak dalam
masalah yang disebut curse of dimensionality. Hal ini dapat terjadi jika data
pelatihan memiliki dimensi yang sangat tinggi (Contoh jika data pelatihan
terdiri dari 2 atribut maka dimensinya adalah 2 dimensi. Namun jika ada 20
atribut, maka akan ada 20 dimensi). Salah satu cara kerja algoritma ini adalah
mencari jarak terdekat antara k buah titik dengan titik lainnya. Jika mencari
jarak antar titik pada 2 dimensi, masih mudah dilakukan. Namun bagaimana
mencari jarak antar titik jika terdapat 20 dimensi. Hal ini akan menjadi sulit.
c.
Jika hanya terdapat
beberapa titik sampel data, maka cukup mudah untuk menghitung dan mencari titik
terdekat dengan k titik yang diinisialisasi secara random. Namun jika terdapat
banyak sekali titik data (misalnya satu milyar buah data), maka perhitungan dan
pencarian titik terdekat akan membutuhkan waktu yang lama. Proses tersebut
dapat dipercepat, namun dibutuhkan struktur data yang lebih rumit seperti
kD-Tree atau hashing.
1.2
Kajian Induktif
Tinjauan Pustaka
tersebut adalah hasil penelitian terdahulu tentang informasi hasil penelitian yang telah dilakukan sebelumnya dan
menghubungkan dengan masalah yang sedang diteliti.
A.
Implementasi text nining pada mesin pencarian twitter untuk menganalisis
topik-topik terkait “KPK dan JOKOWI”
Menurut Imam Adiyana, Fajriya Hakim (2015) dalam jurnal dengan judul Implementasi text nining
pada mesin pencarian twitter untuk menganalisis topik-topik terkait “KPK dan
JOKOWI” dari hasil pembahasan
mengenai aplikasi teks mining untuk penanganan data besar hasil pencarian
topik-topik terkait pada search engine twitter dengan studi kasus topik KPK dan
Jokowi maka dapat ditarik kesimpulan yang menghasilkan sebuah informasi bahwa:
1.
Terdapat kesamaan topik utama yang digunakan pada tweet-tweet ketika
pengguna twitter mencari informasi seputar topik KPK dan Jokowi pada search
engine twitter yaitu topik utama KPK dan Polri.
2.
Berdasarkan ukuran asosiasi kata dengan nilai korelasi tidak kurang dari
0.30, kata-kata yang berasosiasi dengan kata KPK adalah kata Polri dan Lapor.
Sedangkan kata-kata yang berasosiasi dengan Jokowi dimana nilai korelasi tidak
kurang dari 0.30 adalah kata Widodo, Menghadiri, Izin, Pintu, Satu, Investor, Urus, Presiden, Nilai, Aktif,
Bahaya, Manuver, Menang, Mulai, Relawan, dan Sejumlah. Hasil pengelompokan kata
berdasarkan tingkat keseringan kata-kata muncul bersamaan didapatkan 10
kelompok untuk kedua topik (KPK dan Jokowi).
3.
Terdapat kesamaan topik yang dibahas pada pengelompokan tweet untuk topik
KPK dan Jokowi yaitu tweet yang membahas
mengenai topik "kpk, polri, dan jokowi”. Kesamaan-kesamaan penggunaan kata
pada tweet untuk dua topik yang berbeda menunjukan adanya hubungan dari kedua
topik tersebut, dimana ditunjukan dari hasil analisis mengenai data tweet topik
KPK dan data tweet topik Jokowi yang memiliki keseringan dan kesamaan
penggunaan kata pada tweet.
Keyword : Teks Mining, Twitter, Mesin Pencarian
BAB III
METODE PENELITIAN
Penelitian
ini menggunakan data-data teks pada media sosial twitter yang berkaitan dengan
kata kunci “affsuzukicup”.
Tujuan akhir penelitian ini adalah dapat mendeskripsikan topik utama dan kata - kata
yang melekat pada “affsuzukicup”,
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“affsuzukicup”. 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 affsuzukicup
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 :
Gambar 3.1 Diagram
alir
BAB IV
HASIL DAN PEMBAHASAN
Term of
Frequency affsuzukicup berikut ini merupakan
gambar term of frequency topik-topik terkait affsuzukicup.
tweets <- userTimeline("affsuzukicup", n
= 250)
show(tweets)
n.tweet <- length(tweets)
# convert tweets to a data frame
tweets.df <- twListToDF(tweets)
myCorpus <- Corpus(VectorSource(tweets.df$text))
# convert to lower case
myCorpus <- tm_map(myCorpus,
content_transformer(tolower))
# remove URLs
removeURL <- function(x)
gsub("http[^[:space:]]*", "", x)
myCorpus <- tm_map(myCorpus,
content_transformer(removeURL))
# remove anything other than English letters or space
removeNumPunct <- function(x)
gsub("[^[:alpha:][:space:]]*", "", x)
myCorpus <- tm_map(myCorpus,
content_transformer(removeNumPunct))
# remove stopwords
myStopwords <- c(setdiff(stopwords('english'),
c("r", "big")),"use", "see",
"used", "via", "amp")
myCorpus <- tm_map(myCorpus, removeWords,
myStopwords)
# remove extra whitespace
myCorpus <- tm_map(myCorpus, stripWhitespace)
# keep a copy for stem completion later
myCorpusCopy <- myCorpus
term.freq <- rowSums(as.matrix(tdm))
tdm <- TermDocumentMatrix(myCorpus)
term.freq <- subset(term.freq, term.freq >= 10)
df <- data.frame(term = names(term.freq), freq =
term.freq)
ggplot(df, aes(x=term, y=freq)) +
geom_bar(stat="identity") +
xlab("Terms") + ylab("Count") + coord_flip() +
theme(axis.text=element_text(size=7))
Gambar 4.1. Barchart yang menunjukan kata-kata yang menjadi
topik
utama dan sering muncul pada
affsuzukicup
Berdasarkan barchart (diagram batang) pada gambar diatas dapat diketahui term of frequency dari kata-kata (topik) lain yang sering muncul bersamaan dengan kata affsuzukicup.
Term of frequency adalah kata-kata yang sering muncul
dari
data teks
yang
dianalisis, yang ditampilkan dalam bentuk diagram
batang dimana topik utama terkait kata kunci ditampilkan dengan gambar batang yang lebih panjang dibanding lainnya.
Gambar 4.1. barchart menunjukan
kata-kata yang menjadi topik utama dan sering muncul saat pengguna twitter
mencari informasi terkait affsuzukicup
pada search engine twitter adalah kata
thailand, indonesia, myanmar, vietnam. Sedangkan
kata- kata lain seperti thavmya, inavta,
vievina, final, goal, substitution, team, now, myavtha, statistics, lead merupakan
topik menarik lain yang cukup sering digunakan terkait pencarian topik affsuzukicup.
#k-means clustering
d <- dist(term.freq, method="euclidian")
carsCluster <- kmeans(term.freq, 3)
clusplot(as.matrix(d), carsCluster$cluster, color=T,
shade=T, labels=3, lines=0)
Gambar
4.2. Hasil klasifikasi
tweets berdasarkan plotcluster
Berdasarkan
plot diatas, data dapat mengelompok dengan baik sesuai dengan kesamaan
karakteristiknya, cluster 1 ditunjukkan dengan plot berwarna merah, cluster 2
warna biru, dan cluster 3 berwarna merah muda.
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)]
# plot word cloud
wordcloud(words = names(word.freq), freq = word.freq, min.freq
= 3,
random.order =
F, colors = pal)
Gambar
4.3. Wordcloud
Dari Gambar 4.3, terlihat bahwa Word
cloud (awan kata) adalah kumpulan kata-kata yang paling banyak muncul dalam data teks yang
dianalisis. Kata-kata tersebut
terkumpul seperti sebuah gumpalan awan yang berisi kata-kata
sehingga disebut awan kata. Intensitas keseringan kata yang digunakan,
ditunjukan dengan ukuran huruf pada kata. Semakin besar huruf dari kata yang
terdapat di awan kata menunjukkan semakin sering kata tersebut muncul. Tampilan
awan kata ini lebih menarik serta cepat untuk menemukan kata-kata yang sering
muncul, akan tetapi awan kata memiliki kekurangan yaitu tidak dapat menunjukkan frekuensi kata-kata
muncul dalam suatu teks yang dianalisis.
Berdasarkan
gambar 4.3. dapat diketahui
kata (topik) yang sering muncul dalam word cloud bersamaan dengan kata affsuzukicup
adalah kata yang menjadi topik utama dan sering muncul saat pengguna twitter
mencari informasi terkait affsuzukicup
pada search engine twitter adalah kata
thailand, indonesia, myanmar, vietnam. Sedangkan
kata-kata lain seperti thavmya, inavta, vievina, final, goal, substitution,
team, now, myavtha, statistics, lead
merupakan
topik menarik lain yang cukup sering digunakan terkait pencarian topik affsuzukicup.
BAB V
KESIMPULAN DAN REKOMENDASI
Klustering
adalah mengelompokkan variabel ke dalam kelompok berdasarkan kesamaan tertentu. Sedangkan R adalah
suatu perangkat lunak yang digunakan untuk manipulasi data, perhitungan,
simulasi, penayangan grafik, dan sekaligus sebagai bahasa pemograman yang
bersifat interpreter R. Dari hasil pembahasan
diatas mengenai aplikasi teks mining untuk penanganan data besar hasil
pencarian topik-topik terkait pada search engine twitter dengan studi kasus
topik affsuzukicup maka dapat
ditarik kesimpulan yang menghasilkan sebuah informasi atau pemberitaan yang sedang hangat dibicarakan dan
diberitakan oleh media mengenai
affsuzukicup bahwa terdapat topik utama
yang digunakan pada tweet-tweet ketika pengguna twitter mencari informasi
seputar topik affsuzukicup pada
search engine dapat
diketahui kata (topik) yang sering muncul dalam word cloud bersamaan dengan
kata affsuzukicup
adalah kata yang menjadi topik utama dan sering muncul saat pengguna twitter
mencari informasi terkait affsuzukicup
pada search engine twitter adalah kata
thailand, indonesia, myanmar, vietnam. Sedangkan
kata-kata lain seperti thavmya, inavta, vievina, final, goal, substitution,
team, now, myavtha, statistics, lead
merupakan
topik menarik lain yang cukup sering digunakan terkait pencarian topik affsuzukicup.
DAFTAR PUSTAKA
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
Agusta
Yudi, 2007. K-Means – Penerapan Permasalahan dan Metode Terkait, Jurnal Sistem dan Informatika Vol. 3 (Pebruari
2007), 47-60.
Andayani, Sri. Pembentukan cluster dalam Knowledge Discovery in Database
dengan Algoritma K-Means. SEMNAS Matematika dan Pendidikan Matematika 2007
dengan tema “Trend Penelitian Matematika dan Pendidikan Matematika di Era
Global, 2007.
Berkhin, Pavel. A survey of clustering data mining techniques. In:
Grouping multidimensional data. Springer Berlin Heidelberg, 2006. p. 25-71.
DU, K.-L. Clustering: A neural network approach. Neural Networks, 2010,
23.1: 89-107.
Zhao, Yanchang 2011. R and
Data Mining: Examples and Case Studies. Elsevier.
(29 November 2017)