Anda di halaman 1dari 8

DATA SCIENCE Summary

Obyek dalam R bisa berupa:

• Variabel → nama <- “Mamang” atau


umur <- 17 + 1 atau
celcius <- abs(-100.0)
• Konstanta → angka (0, -1, 3.14, 0.7e-5) dan karakter (“Halo”, ‘123’)
• Fungsi → nama.teman <- c(“Ipin”, “Upin”) atau
print(paste(“Hello”, “World”))
• Operasi → print(celcius * (9 / 5) + 32)
Operasi ini menganut urutan operasi: ()→^ → */ → +-

Fungsi yang umum dipakai


c(elemen, elemen, …) Membuat koleksi elemen menjadi satu obyek
paste(elemen, Menempel semua elemen yang diminta menjadi satu kalimat panjang.
elemen, …, Jika diinginkan pemisah tiap elemen bukan spasi, ganti di sep = “ “
sep = “ “)
as.numeric(obyek) Mengubah karakter jadi angka
as.character(obyek) Mengubah angka jadi karakter
as.data.frame(obyek) Mengubah data kompleks menjadi data frame
is.na(obyek) Mengetahui apakah ada data kosong
colSums(obyek) Menghitung jumlah dari tiap fitur di data frame
apply(obyek, 2, fungsi) Melakukan operasi fungsi serentak pada tiap fitur di data frame

Akses ke berkas
var <- read.csv(obyek, Membaca berkas dan menyimpan ke obyek.
sep = “,”,
header = TRUE, obyek boleh berupa berkas lokal dalam format penulisan
dec = “.”) UNIX → “C:/My Documents/file.csv” atau URL →
“https://arman.my.id/ds/file.csv”. Atau bisa
juga menampilkan kotak dialog berkas pakai
file.choose(). Bila berkas tidak bertajuk, pastikan
ubah header = FALSE. Bila berkas dibuat dengan Excel
wilayah Asia, pastikan sep = “;” dan dec = “,”.

Isi data akan masuk ke dalam obyek var.

Page 1 of 8
DATA SCIENCE Summary

write.csv(obyek, Menyimpan data ke berkas


file = “tujuan.csv”)
obyek adalah obyek yang mau disimpan ke file
tujuan.csv (bisa diganti sesuka hati). File ini akan
diletakkan di tempat yang ditunjuk oleh fungsi getwd().

Menampilkan isi obyek


head(obyek) Menampilkan 6 baris pertama dari obyek
tail(obyek) Menampilkan 6 baris terakhir dari obyek
print(obyek) Mencetak isi suatu obyek secara keseluruhan (tidak disarankan untuk
data besar)
str(obyek) Menampilkan struktur data data frame atau obyek lain

Perulangan Kode
Bentuk 1 Perulangan
for(var in mulai:selesai) perintah
Menjalankan perintah berkali-kali secara
for(var in koleksi) perintah terprogram

Bentuk 2
for(var in mulai:selesai) {
perintah1
perintah2
}

for(var in koleksi) {
perintah1
perintah2
}

Contoh
for(var in 1:10) print(var)

for(var in c(1, 3, 5, 7:10)) {


print(var)
}

Page 2 of 8
DATA SCIENCE Summary

Kondisi
Bentuk 1 Kondisi
ifelse(kondisi,
benar, Mengubah jalannya program berdasarkan keadaan
salah) tertentu

Bentuk 2
var <- ifelse(kondisi,
benar,
salah)

Contoh
hasil <- ifelse(df$nilai >= 75,
“lulus”,
“gagal”)

Kondisi Dasar
Format a > b a >= b a < b a <= b a != b a == b
Makna a lebih besar a lebih besar a lebih kecil a lebih kecil a beda a sama persis
dari b atau sama dari b atau sama dengan b dengan b
dengan b dengan b
Untuk ✓
angka
Untuk  ✓
karakter

Kondisi Majemuk
kondisi1 & kondisi2 kondisi1 | kondisi2
Kedua kondisi harus benar agar terpenuhi Salah satu kondisi benar maka terpenuhi
hasil <- ifelse(df$presensi >= 80 & df$nilai >=75, “lulus”, “gagal”)
buat obyek hasil yang isinya jika fitur presensi dari obyek df lebih besar atau sama dengan 80 dan fitur
nilai dari obyek df lebih besar atau sama dengan 75, maka isilah lulus; jika tidak isilah gagal.

periksa <- ifelse(nama == “” | umur < 0, “data salah”, “data betul”)


buat obyek hasil yang isinya jika fitur presensi dari obyek df lebih besar atau sama dengan 80 atau fitur
nilai dari obyek df lebih besar atau sama dengan 75, maka isilah lulus; jika tidak isilah gagal.

Page 3 of 8
DATA SCIENCE Summary

Subset data
Subset itu adalah cara gimana kita mengambil data dari data frame, memilih fitur mana yang mau diambil; atau
observasi mana yang mau diambil. Bayangkan seperti kita memilih baris dan kolom pada Microsoft Excel, tapi ini
pakai program R.
obyek$fitur Mengambil hanya satu fitur berdasarkan nama fitur (gunakan kutip
obyek[“fitur”] untuk konstanta karakter) atau nomor kolom fitur dari data frame.
obyek[kolom]
obyek[-kolom] Angka minus artinya kecuali fitur pada kolom bernomor itu
obyek[c(“fitur”, ”fitur”, …)] Mengambil beberapa fitur berdasarkan nama fitur (gunakan kutip
obyek[c(kolom, kolom, …)] untuk konstanta karakter) atau nomor kolom fitur dari data frame.
obyek[mulai:selesai]
Bentuk rentang dapat dipakai kalau yang mau diambil berurutan.
obyek[observasi, fitur] Mengambil observasi dari data frame. Jika tunggal, cukup sebut
obyek[-observasi, fitur] nomor observasi. Angka minus artinya ambil semua kecuali observasi
obyek[c(observasi, observasi,
…), fitur] itu saja. Jika mau ambil beberapa observasi yang loncat-loncat, pakai
obyek[mulai:selesai, fitur] bantuan c(). Kalau observasinya berurut, boleh gunakan bentuk
rentang.

Catatan: observasi, fitur dapat diisi seperti format fitur pada


dua contoh di atas. Kalau mau mengatakan semua fitur, kosongkan
bagian fitur tetapi koma tetap wajib ada.
obyek[kondisi, fitur] Kondisi berisi bentuk kondisi dasar atau kondisi majemuk yang ada
pada lembar contekan ke 2.

Contoh

print(titanic$name)
print(titanic[“name”])
print(titanic[2])
Cetak dari data titanic yang nomor fitur ke-2 kebetulan namanya adalah name

df2 <- mtcars[-1]


Bikin obyek df2 isinya data mtcars semua fitur kecuali fitur pertama

big.iris <- iris[iris$sepal.length >=5, c(“variety”, “sepal.length”)]


print(big.iris)
buatlah obyek baru bernama big.iris, isilah dengan subset dari iris yang memenuhi kondisi sepal.length di data
iris lebih besar atau sama dengan 5, fitur yang diambil adalah variety dan sepal.length saja; lalu cetaklah
hasilnya.

Page 4 of 8
DATA SCIENCE Summary

Merekayasa Fitur
obyek$fitur <- NULL Menghapus fitur dari suatu obyek
obyek$fitur <- obyek Menambah baru/menimpa fitur yang sudah ada dengan obyek
baru yang lain. Obyek dapat berupa konstanta, fungsi, operasi
Contoh matematika atau variabel

df$tahun.depan <- df$umur + 1


Pada obyek df buatlah fitur baru
bernama tahun.depan dan diisi
nilai fitur umur dari obyek df
ditambah 1.

Bagaimana Data Tersebar?

Skewness: Bagaimana kecenderungan rata-rata Quartile: Perempat data yang menggambarkan nilai
data berkumpul; di kiri (+), tengah (~0) atau kanan data di sumbu x pada rentang tertentu
(-) dari plot?
Kurtosis: Seberapa padat data berkumpul pada nilai
rata-ratanya; tajam (> +2), baik (~0), landai (< 0)

Page 5 of 8
Page 6 of 8
Logistic Regression

Naive Bayes

Random Decision
Forest Tree

Classification
Targetnya data diskrit
Neural Network
Supervised

Support Vector Machine

Simple
Time
Linear
Series
Machine Learning

Regression
Set data memiliki target. Tujuannya untuk prediksi atau prakiraan

Multiple Linear
Regression
Regression
Targetnya data kontinyu

Polynomial Regression

Clustering
k-Means Mencari
kesamaan

Dimension
Reduction
DATA SCIENCE Summary

Principal Component
pengenalan pola
Unsupervised

Mencari
Analysis
Set data tidak memiliki

hubungan
target. Tujuannya untuk

fitur
DATA SCIENCE Summary

Prediksi dengan?
Bisa digambar?

Harus diskala?
Nama pustaka

Hasilnya
Nama
Machine Perbaikan kinerja model dengan…
Learning

Logistic model <- glm(target ~ i1 + i2, Tidak pred <- predict(model,


Regression train, bermanfaat newdata = df,
family(link=”link”)) untuk type =
awam "response"
Memilih family dan link: )
- • Gaussian Identity Tidak Peluang
print(round(pred))
• Binomial Logit
• Binomial Probit
• Binomial Cloglog
• Poisson Log
• Poisson Identity
Naïve Bayes model <- naiveBayes(target ~ i1 + i2, Tidak pred <- predict(model,
train) newdata = df,
e1071

Tidak type = "raw") Peluang


Menambah data training lebih bervariasi
print(round(pred[1]))
Decision Tree model <- rpart(target ~ i1 + i2, Bisa, pakai predict(model,
train, prp newdata = df,
method = “class”, type = “class”)
control = rpart.control(
rpart

maxdepth = kedalaman) Tidak Kelas


)

Mengatur control = rpart.control(


maxdepth = kedalaman)
Random model <- randomForest(target ~ i1 + i2, Tidak pred <- round(
Forest train, predict(
importance = TRUE, model,
randomForest

ntree = 500, df,


mtry = 5, type = "class")
) Tidak ) Peluang
)
Mengatur paramter ntree (jumlah pohon keputusan) dan
mtry (jumlah kombinasi fitur dalam satu pohon) print(round(pred))

Neural model <- neuralnet(target ~ i1 + i2, Bisa, pakai prediksi <- as.data.frame(
Network train, plot compute(
hidden = c(node, model,
neuralnet

node), df)
linear.output = TRUE) Ya ) Tendensi

Mengatur parameter hidden. print(round(


prediksi$net.result)
)
Support model <- ksvm(target ~ i1 + i2, Bisa (jika predict(model,
Vector train, independen newdata = df)
Machine type = “C-svc”, nya hanya 2
kernel = kernel)
kernlab

fitur) pakai
plot Tidak Kelas
Memilih parameter kernel: rbfdot, polydot,
vanilladot, tanhdot, laplacedot,
besseldot, anovadot, splinedot,
stringdot

Page 7 of 8
DATA SCIENCE Summary

Nama Machine
Sifat penggunaan Format Prediksi
Learning

Simple Linear Hanya berlaku untuk 1 fitur independen dan target. Model yang model <- lm(target ~ predict(model,
Regression baik bisa ditinjau dari: independen) newdata = df)
• cor() terhadap target >= 0,8;
• p-Value uji homoscedastic >= 0,05;
• Multiple R-squared >= 0,8;
• RSE kecil;
• p-Value model < 0,05.
Multiple Linear Berlaku untuk banyak fitur independen dan target. Model yang model <- lm(target ~
Regression baik bisa ditinjau dari: independen1 +
• cor() terhadap target >= 0,8; independen2)
• cor() terhadap independen lain < 0,8 (tidak terjadi
multikolinearitas);
• p-Value uji homoscedastic < 0,05;
• Adjusted R-squared >= 0,8;
• RSE kecil;
Polynomial • p-Value model < 0,05. model <- lm(target ~
Regression independen +
I(independen^2))

Time Series Hanya berlaku untuk target tanpa fitur independen. Target harus model <- ts(target, forecast(auto.arima(model),
lulus uji autocorrelation start = c(tahun, h = berapa)
bulan,
tanggal),
frequency = berapa)

Nama Machine
Sifat penggunaan Format Visualisasi
Learning

k-Means Baik jika: model <- kmeans(df, k = berapa) kmeans.ani(df, k = berapa)


• Datanya di-scale() sebelum pemodelan

Principal Baik jika: model <- prcomp(df, ggbiplot(model)


Component • Varians dalam datanya banyak center = TRUE,
Analysis • Meringkas fitur yang mungkin terjadi multikolinearitas scale. = TRUE)
• Nilai Cumulative Proportion di PC2 >= 0,8

Page 8 of 8

Anda mungkin juga menyukai