library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
# Memuat dataset iris
data(iris)

# Memisahkan data menjadi variabel independen (x) dan variabel dependen (y)
x <- iris[, 1:4]
y <- iris[, 5]

# Mengubah variabel dependen menjadi faktor
y <- as.factor(y)

# Membagi data menjadi data latih dan data uji
set.seed(123)
trainIndex <- createDataPartition(y, p = 0.8, list = FALSE)
trainData <- x[trainIndex, ]
trainLabels <- y[trainIndex]
testData <- x[-trainIndex, ]
testLabels <- y[-trainIndex]
library(randomForest)
## randomForest 4.7-1.1
## Type rfNews() to see new features/changes/bug fixes.
## 
## Attaching package: 'randomForest'
## The following object is masked from 'package:ggplot2':
## 
##     margin
# Membuat model Random Forest
model <- randomForest(trainData, trainLabels)

# Melihat ringkasan model
print(model)
## 
## Call:
##  randomForest(x = trainData, y = trainLabels) 
##                Type of random forest: classification
##                      Number of trees: 500
## No. of variables tried at each split: 2
## 
##         OOB estimate of  error rate: 5%
## Confusion matrix:
##            setosa versicolor virginica class.error
## setosa         40          0         0       0.000
## versicolor      0         37         3       0.075
## virginica       0          3        37       0.075
# Memprediksi label menggunakan data uji
predictions <- predict(model, testData)

# Menghitung akurasi
accuracy <- sum(predictions == testLabels) / length(predictions)
print(paste("Akurasi:", accuracy))
## [1] "Akurasi: 0.933333333333333"

Analisis di atas menggunakan algoritma Random Forest untuk melakukan klasifikasi pada dataset iris. Dataset iris berisi informasi tentang panjang dan lebar kelopak dan mahkota bunga iris serta spesiesnya. Tujuan analisis ini adalah untuk mengembangkan model yang dapat memprediksi spesies bunga iris berdasarkan fitur-fiturnya.

Dalam analisis ini, langkah-langkah yang dilakukan adalah sebagai berikut:

Memuat dataset iris: Dataset iris bawaan R dimuat menggunakan perintah data(iris).

Memisahkan data: Dataset iris dipisahkan menjadi variabel independen (x) yang berisi fitur-fitur dan variabel dependen (y) yang berisi spesies bunga iris.

Mengubah variabel dependen: Variabel dependen (y) diubah menjadi faktor karena merupakan variabel kategorikal.

Membagi data: Dataset dibagi menjadi data latih (train) dan data uji (test) dengan proporsi 80:20 menggunakan fungsi createDataPartition() dari paket ‘caret’.

Membuat dan melatih model: Model Random Forest dibuat menggunakan fungsi randomForest() dari paket ‘randomForest’. Model ini dilatih dengan menggunakan data latih dan label data latih.

Menguji model: Model yang telah dilatih digunakan untuk memprediksi label pada data uji menggunakan fungsi predict(). Prediksi tersebut disimpan dalam variabel predictions.

Menghitung akurasi: Akurasi model dihitung dengan membandingkan prediksi dengan label sebenarnya pada data uji. Akurasi adalah proporsi prediksi yang benar dari total prediksi.

Hasil dari analisis ini adalah model Random Forest yang telah dilatih dan diuji pada dataset iris. Model ini dapat digunakan untuk memprediksi spesies bunga iris berdasarkan fitur-fitur yang dimasukkan. Akurasi model dapat digunakan sebagai metrik untuk mengevaluasi performa model, di mana semakin tinggi akurasi, semakin baik model dalam memprediksi spesies bunga iris.

Kesimpulan dari analisis ini adalah bahwa model Random Forest dengan menggunakan fitur-fitur dari dataset iris dapat memberikan prediksi yang cukup akurat untuk mengklasifikasikan spesies bunga iris. Model ini dapat digunakan dalam aplikasi praktis untuk memprediksi spesies bunga iris berdasarkan fitur-fitur morfologi yang diukur.