Anda di halaman 1dari 9

PERTEMUAN 2

TIPE DATA DAN EKSPLORASI DATA MENGGUNAKAN


WEKA DAN R

TUJUAN PRAKTIKUM

Mahasiswa dapat memahami Tipe data, Eksplorasi Data, Statistika ringkasan, Visualisasi
menggunakan Weka dan R.

TEORI PENUNJANG

Eksplorasi Data
Eksplorasi data merupakan langkah untuk memahami data sebelum melakukan
praproses. Pemahaman data yang akan di-​mining dapat membantu dalam menentukan
teknik-teknik praproses dan analisis terhadap data sebelum dilakukan tugas ​data mining​.
Dalam eksplorasi data, hal yang harus diperhatikan yaitu tipe data. Tipe data terdiri atas
empat jenis, yaitu nominal, ordinal, interval, dan rasio. Penjelasan dan perbedaan setiap tipe
data tersebut dapat dilihat pada Tabel 1.

Eksplorasi data dilakukan sebagai langkah awal untuk mengetahui karakteristik dari
data. Tahapan ini dilakukan untuk menyeleksi teknik pemrosesan dan analisis data yang
sesuai untuk dataset yang dimiliki. Eksplorasi data menggunakan R dimulai dengan
memeriksa dimensi data, mencari statistika ringkasan, serta menampilkan berbagai jenis
grafik seperti pie chart dan histogram.

Tabel 1 Deskripsi tipe data dan contohnya


Tipe data Deskripsi Contoh

Kategorik Nominal Nilai dari atribut nominal adalah nama-nama PIN kartu ATM
(Kualitatif) sebagai pembeda antara satu dengan yang , NIM
lain. Nilai nominal menyediakan informasi Mahasiswa,
yang cukup untuk membedakan satu objek warna RGB ,
dengan objek yang lain. kode biner.
Operator aritmatik yang dapat digunakan ialah
sama dengan (=) atau tidak sama dengan ().

Ordinal Nilai dari atribut ordinal adalah nama-nama Nomor antrian,


yang selain sebagai pembeda juga dapat Grade,
menjadi ukuran perbandingan satu dengan kecepatan
yang lain. Nilai ordinal menyediakan prosesor
informasi yang cukup untuk mengurutkan {lambat, cepat,
objek. sangat cepat}
Operator aritmatik yang dapat digunakan ialah
sama dengan (=),tidak sama dengan ()lebih
besar (>) , lebih kecil (<).
Tipe data Deskripsi Contoh

Numerik Interval Dalam atribut interval perbedaan antarnilai Tanggal pada


(kuantitatif) merupakan sesuatu yang berarti, pada atribut kalender,
interval terdapat unit pengukuran. Temperatur.
Operator aritmatik yang dapat digunakan ialah
sama dengan (=),tidak sama dengan ()lebih
besar (>) , lebih kecil (<), penambahan (+),
pengurangan (-).

Rasio Dalam atribut rasio, perbedaan rasio Umur, berat


merupakan hal yang berarti. badan, tinggi
Operator aritmatik yang dapat digunakan ialah badan.
sama dengan (=),tidak sama dengan ()lebih
besar (>) , lebih kecil (<), penambahan (+),
pengurangan (-), perkalian (*), pembagian (/).

Nominal Ordinal Interval Rasio

Bilangan menunjukkan perbedaan ✓ ✓ ✓ ✓

Pengukuran dapat digunakan untuk membuat ✓ ✓ ✓


peringkat atau mengurutkan obyek

Perbedaan bilangan mempunyai arti ✓ ✓

Mempunyai nol mutlak dan rasio antara dua ✓


bilangan mempunyai arti

Eksplorasi data menggunakan Weka

Weka dapat membantu tahap eksplorasi data, namun Weka hanya dapat mengenali
tipe data nominal dan numerik, sehingga kita harus teliti dalam mengkategorikan data untuk
tipe data ordinal dan interval. Untuk mengetahui lebih lanjut, kita menggunakan data
weather.arff​ yang telah tersedia di weka.

a. Statistika Ringkasan

Gambar 1 merupakan nilai statistika ringkasan dari atribut ​outlook yang memiliki tipe
data nominal. Seperti yang kita tahu, tipe data nilai ​outlook {​sunny, overcast, rainy}​ tidak
hanya dapat dilihat dari nilai, namun juga dapat diurutkan, sehingga atribut ​outlook juga bisa
dikategorikan sebagai ordinal. Gambar 1 hanya menampilkan hasil count pada Weka.
Gambar 1 Statistika ringkasan dari atribut ​outlook

Gambar 2 Statistika ringkasan dari atribut​ temperature

Gambar 2 merupakan nilai statistika ringkasan dari atribut ​temperature yang memiliki
tipe data numerik. Berdasarkan dari penjelasan sebelumnya, tipe data numerik terbagi
menjadi dua jenis, yaitu interval dan rasio. Untuk kasus ini, tipe data atribut ​temperature
masuk kedalam kategori interval. Nilai statistika yang muncul berupa minimum, maximum,
mean, dan StdDev.

b. Visualisasi

Visualisasi yang tersedia pada Weka yaitu histogram dan ​scatter plot.​ Histogram pada
Weka terdapat pada tab ​Preprocess​ sedangkan ​scatter plot​ terdapat pada tab ​Visualize.​

Gambar 3 Histogram atribut ​temperature​ terhadap kelas ​play


Gambar 4 Histogram atribut ​windy​ terhadap kelas​ play

Pada ​scatter plot,​ setiap objek data diplot sebagai titik dalam bidang 2-dimensi
dengan menggunakan nilai-nilai dari dua atribut sebagai koordinat x dan y. Gambar 5
merupakan contoh visualisasi ​scatter plot​ untuk atribut ​temperature​ dan ​humidity​.

Eksplorasi data menggunakan R

Eksplorasi pada R tidak jauh berbeda dengan weka, hanya saja di R memiliki tipe data
dan visualisasi data yang lebih lengkap dibandingkan Weka. Dengan menggunakan R kita
juga bisa melakukan eksplorasi pada ​multiple variables​. Eksplorasi pada ​multiple variables
dilakukan untuk mengetahui hubungan antara dua variabel atau lebih. Pada R, hal ini dapat
dilihat melalui ​bar chart, boxplot, scatter plot, pairs plot, serta dengan menghitung nilai
covariance ​dan ​correlation a​ ntar variabel. Untuk lebih jelasnya kita import data
insurance.csv​ (tersedia di ​http://bit.ly/insurance_csv​) dan simpan pada variabel data.

a. Statistika Ringkasan

Fungsi ​str() digunakan untuk melihat tipe data dari setiap atribut pada sebuah
dataframe.
ins <- read.csv("~/insurance.csv")
str(ins)

Jika dibandingkan dengan Weka, R memiliki tipe data yang lebih lengkap seperti
int​, ​num​, dan ​Factor​. Untuk melihat statistika ringkasan (misal pada atribut ​age​)
jalankan perintah:
summary(ins$age)

Statistika ringkasan pada R terdiri dari nilai minimum, Q1, median, mean, Q3, dan
nilai maksimum. Perbedaan dengan Weka adalah ringkasan pada Weka tidak memuat
Q1 dan Q2, sementara R tidak memuat standar deviasi. Untuk melihat standar deviasi
pada R, ketik perintah:
sd(ins$age)

b. Visualisasi Data

Beberapa visualisasi yang tersedia pada R yaitu ​histogram, pie chart, line chart,
density, boxplot, scatter plot​. Untuk membuat boxplot ketikkan perintah:
boxplot(ins$bmi, main="Boxplot of Insurance BMI",
ylab="BMI")

Berdasarkan hasil boxplot yang diperoleh, nilai minimum dan maximum


berturut-turut yaitu 15.96 dan 53.13. Nilai Q1, Q2, dan Q3 berturut-turut yaitu 26.30,
30.40, 34.69. Data disebut pencilan jika data tersebut lebih besar dari nilai maximum
atau lebih kecil dari nilai minimum.
Untuk membuat histogram ketikkan perintah:
hist(ins$charges, main="Histogram of Insurance Charges",
xlab="Charges")

Bentuk histogram tersebut cenderung condong ke kiri dan terdapat pencilan pada data
tersebut.

Untuk membuat scatterplot, ketik perintah:


plot(x=ins$bmi, y=ins$charges, main="Scatterplot of BMI
vs Charges", xlab="BMI", ylab="Charges")
Kita dapat melihat dua data yang dapat dikatakan pencilan. Hal ini dikarenakan kedua
data tersebut sangat berbeda / jauh dengan data yang lainnya. Terdapat tiga jenis
analisa yang dapat dilakukan dengan menggunakan ​scatter plot:​

1. Hubungan antar dua variabel/atribut


2. Bidang pemisah antar kelas
3. Analisa pencilan

Density/densitas dapat digunakan untuk melihat pola distribusi data/peluang


distribusi. Berikut adalah kode untuk menghasilkan grafik densitas:
plot(density(ins$bmi), main=”Density Plot For Insurance
BMI”)

Gambar di atas menunjukkan grafik densitas untuk atribut BMI. Dapat dilihat bahwa
atribut BMI cenderung terdistribusi normal dan sedikit menjulur ke kanan.

c. Eksplorasi data pada ​multiple variables

Eksplorasi data pada ​multiple variables dilakukan untuk melihat hubungan antara dua
buah variabel atau lebih. Untuk melihat hubungan tersebut bisa dilakukan dengan
menghitung nilai covariance dan correlation antara variabel tersebut.
cov(ins$age, ins$bmi)
cov(ins[, c(“age”, “bmi”, “children”, “charges”)])

cor(ins$age, ins$bmi)
cor(ins[, c("age", "bmi", “children”, “charges”)])

aggregate(bmi ~ sex, summary, data = ins)

Visualisasi data untuk ​multiple variables​ di R berupa boxplot, scatter plot, 3D scatter
plot, pairs plot, heat map, level plot, contour, 3D surface, dan parallel coordinates.

1) Boxplot
boxplot(bmi ~ age, data = ins)

2) Scatter plot
# Scatter plot
with(ins, plot(age, bmi, col = sex, pch =
as.numeric(sex))

# Scatter plot with jitter


with(ins, plot(jitter(children), jitter(age)))

# Scatter plot with ggplot2


library(ggplot2)
qplot(age, charges, data = ins, facets = sex ~ .)

3) 3D Scatter plot
# Static 3D scatter plot
library(scatterplot3d)
with(ins, scatterplot3d(age, bmi, charges))

# Interactive 3D scatter plot


library(rgl)
with(ins, plot3d(age, bmi, charges))

4) Pairs plot
pairs(ins[, c("age", "bmi", "children", "charges")])

5) Heat map
distMatrix <- as.matrix(dist(ins[, c("age", "bmi",
"children", "charges")])
heatmap(distMatrix)

6) Level plot
library(lattice)
levelplot(children ~ bmi * age, ins, cuts = 5,
col.regions = grey.colors(6)[6:1])

7) Contour
filled.contour(volcano, color = terrain.colors, asp = 1,
plot.axes = contour(volcano, add = T))

8) 3D surface
persp(volcano, theta = 25, phi = 30, expand = 0.5, col =
"lightblue")

9) Parallel Coordinate
# Parallel coordinates
library(MASS)
parcoord(ins[, c("age", "bmi", "children", "charges")],
col = ins$sex)

# Parallel coordinates with lattice


library(lattice)
parallelplot(~ins[, c("age", "bmi", "children",
"charges")] | sex, data = ins)

Hasil plot visualisasi data dapat disimpan dalam file dengan ekstensi .png, .jpeg, .pdf,
atau .ps.
# Save as a PNG file
png(“myPlot.png”)
plot(1:10, log(1:10))
graphics.off()

# Save as a JPEG file


jpeg(“myPlot.jpeg”)
plot(1:10, log(1:10))
graphics.off()

# Save as a PDF file


pdf(“myPlot.pdf”)
plot(1:10, log(1:10))
graphics.off()

# Save as a Postscript file


postscript(“myPlot.ps”)
plot(1:10, log(1:10))
graphics.off()

Anda mungkin juga menyukai