0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan11 halaman

Salinan Modul 7 - Konsep Dasar Machine Learning

Dokumen ini membahas konsep dasar Machine Learning, termasuk pembagian metode seperti Supervised, Unsupervised, dan Reinforcement Learning. Selain itu, dijelaskan langkah-langkah dalam workflow Machine Learning, pembuatan model regresi, serta cara menghitung dan membandingkan metrik kinerja model seperti R-squared dan RMSE. Kriteria pemilihan model juga diuraikan berdasarkan tujuan analisis, baik untuk penjelasan variasi data maupun akurasi prediksi.

Diunggah oleh

wwaja685
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
12 tayangan11 halaman

Salinan Modul 7 - Konsep Dasar Machine Learning

Dokumen ini membahas konsep dasar Machine Learning, termasuk pembagian metode seperti Supervised, Unsupervised, dan Reinforcement Learning. Selain itu, dijelaskan langkah-langkah dalam workflow Machine Learning, pembuatan model regresi, serta cara menghitung dan membandingkan metrik kinerja model seperti R-squared dan RMSE. Kriteria pemilihan model juga diuraikan berdasarkan tujuan analisis, baik untuk penjelasan variasi data maupun akurasi prediksi.

Diunggah oleh

wwaja685
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

Konsep Dasar

Machine
Learning
Modul ketujuh
Pembagian Machine Learning
A. Supervised Learning
Regression
Classification

B. Unsupervised Learning
Clustering
Dimensionality Reduction

C. Reinforcement Learning
Workflow Machine Learning

1. Data Preparation
2. Model Selection
3. Training
4. Evaluation
5. Prediction
Load library yang diperlukan
library(MASS)
library(caret)

Load dan siapkan data


data(Boston)
set.seed(123)

Membagi data menjadi training dan testing


training_index <- createDataPartition(Boston$medv, p =
0.8, list = FALSE)
train_data <- Boston[training_index, ]
test_data <- Boston[-training_index, ]
1. MEMBUAT KETIGA MODEL
Model 1: Regresi Linear Sederhana
model_sederhana <- lm(medv ~ rm, data = train_data)
Model 2: Regresi Linear Berganda
model_berganda <- lm(medv ~ rm + lstat + age + dis, data =
train_data)
Model 3: Regresi Polinomial
model_poly <- lm(medv ~ rm + I(rm^2), data = train_data)

2. FUNGSI UNTUK MENGHITUNG R² DAN RMSE


calculate_metrics <- function(model, test_data) {
predictions <- predict(model, newdata = test_data)
Menghitung R-squared
r2 <- 1 - sum((test_data$medv - predictions)^2) /
sum((test_data$medv - mean(test_data$medv))^2)
Menghitung RMSE
rmse <- sqrt(mean((test_data$medv - predictions)^2))
return(c(R_squared = r2, RMSE = rmse))}
3. MENGHITUNG METRICS UNTUK SETIAP MODEL
metrics_sederhana <- calculate_metrics(model_sederhana,
test_data)
metrics_berganda <- calculate_metrics(model_berganda,
test_data)
metrics_poly <- calculate_metrics(model_poly, test_data)
Membuat tabel perbandingan
comparison_table <- rbind(
"Model Sederhana" = metrics_sederhana,
"Model Berganda" = metrics_berganda,
"Model Polinomial" = metrics_poly)
Print hasil perbandingan
cat("Perbandingan Model:\n")
print(round(comparison_table, 4))
4. VISUALISASI PERBANDINGAN METRICS
par(mfrow = c(1,2))
Plot R-squared
barplot(comparison_table[,1],
main = "Perbandingan R-squared",
ylim = c(0, 1),
col = c("skyblue", "lightgreen", "pink"))
grid()
Plot RMSE
barplot(comparison_table[,2],
main = "Perbandingan RMSE",
col = c("skyblue", "lightgreen", "pink"))
grid()
5. MENENTUKAN MODEL TERBAIK
best_r2 <- which.max(comparison_table[,1])
best_rmse <- which.min(comparison_table[,2])

cat("\nBerdasarkan R-squared tertinggi:")


cat("\nModel terbaik adalah:", rownames(comparison_table)
[best_r2])
cat("\nNilai R-squared:", round(comparison_table[best_r2,1],
4))

cat("\n\nBerdasarkan RMSE terendah:")


cat("\nModel terbaik adalah:", rownames(comparison_table)
[best_rmse])
cat("\nNilai RMSE:", round(comparison_table[best_rmse,2], 4))
6. VISUALISASI PREDIKSI MODEL TERBAIK
best_model <- if(best_rmse == best_r2) {
list(model = get(paste0("model_", tolower(strsplit(rownames(comparison_table)
[best_rmse], " ")[[1]][2]))),
name = rownames(comparison_table)[best_rmse])} else {cat("\n\nPerhatian: R-
squared dan RMSE menunjukkan model terbaik yang berbeda.")
cat("\nDisarankan untuk mempertimbangkan tujuan analisis dalam pemilihan model
final.")
list(model = get(paste0("model_", tolower(strsplit(rownames(comparison_table)
[best_rmse], " ")[[1]][2]))),
name = rownames(comparison_table)[best_rmse])}
Plot actual vs predicted untuk model terbaik
predictions <- predict(best_model$model, newdata = test_data)
plot(test_data$medv, predictions,
main = paste("Actual vs Predicted -", best_model$name),
xlab = "Actual Values",
ylab = "Predicted Values")
abline(0, 1, col = "red")
Cara menginterpretasikan hasil:

1. R-squared (R²):
Rentang nilai: 0 sampai 1
Semakin mendekati 1, semakin baik model menjelaskan
variasi data
Mengukur proporsi variasi yang dapat dijelaskan oleh
model
2. RMSE (Root Mean Square Error)
Semakin kecil nilainya, semakin baik model
Memiliki unit yang sama dengan variabel dependen
Mengukur rata-rata kesalahan prediksi
Kriteria pemilihan model:

1. Jika fokus pada kemampuan model menjelaskan variasi data:


Pilih model dengan R² tertinggi
Cocok untuk analisis explanatory
2. Jika fokus pada akurasi prediksi:
Pilih model dengan RMSE terendah
Cocok untuk tujuan prediktif
3. Jika R² dan RMSE menunjukkan model terbaik yang berbeda:
Pertimbangkan tujuan utama analisis
Pertimbangkan kompleksitas model
Pertimbangkan interpretabilitas model
Catatan penting:
R² yang tinggi tidak selalu berarti model memiliki prediksi yang akurat
RMSE memberikan gambaran langsung tentang kesalahan prediksi dalam unit asli
Pertimbangkan trade-off antara kompleksitas model dan peningkatan performa

Anda mungkin juga menyukai