# Memuat paket yang diperlukan
library(e1071)
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
# Memuat dataset iris bawaan R
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]
# Membuat model Naive Bayes
model <- naiveBayes(trainData, trainLabels)

# Melihat ringkasan model
print(model)
## 
## Naive Bayes Classifier for Discrete Predictors
## 
## Call:
## naiveBayes.default(x = trainData, y = trainLabels)
## 
## A-priori probabilities:
## trainLabels
##     setosa versicolor  virginica 
##  0.3333333  0.3333333  0.3333333 
## 
## Conditional probabilities:
##             Sepal.Length
## trainLabels    [,1]      [,2]
##   setosa     4.9800 0.3567661
##   versicolor 5.9400 0.4903165
##   virginica  6.6375 0.6949221
## 
##             Sepal.Width
## trainLabels    [,1]      [,2]
##   setosa     3.3700 0.3450752
##   versicolor 2.7700 0.3267556
##   virginica  3.0125 0.3123012
## 
##             Petal.Length
## trainLabels    [,1]      [,2]
##   setosa     1.4650 0.1717930
##   versicolor 4.2325 0.4676112
##   virginica  5.6225 0.5775667
## 
##             Petal.Width
## trainLabels    [,1]      [,2]
##   setosa     0.2400 0.0928191
##   versicolor 1.3275 0.2087662
##   virginica  2.0700 0.2662176
# Memprediksi tingkat kecerdasan menggunakan data uji
predictions <- predict(model, testData)

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

Analisis di atas menggunakan algoritma Naive Bayes untuk melakukan klasifikasi tingkat kecerdasan mahasiswa menggunakan dataset ‘iris’ bawaan R. Dataset ‘iris’ berisi informasi tentang panjang dan lebar kelopak dan mahkota bunga iris serta spesiesnya. Dalam analisis ini, kita menggunakan atribut-atribut panjang dan lebar kelopak dan mahkota bunga sebagai fitur untuk memprediksi tingkat kecerdasan mahasiswa.

Langkah-langkah analisis yang dilakukan adalah sebagai berikut:

Memuat Data: 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 tingkat kecerdasan.

Mengubah Variabel Dependend: 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 Naive Bayes dibuat menggunakan fungsi naiveBayes() dari paket ‘e1071’. Model ini dilatih dengan menggunakan data latih dan label data latih.

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

Menghitung Metrik Evaluasi: Dalam contoh ini, metrik evaluasi yang dihitung adalah akurasi, yaitu proporsi prediksi yang benar dari total prediksi. Akurasi dihitung dengan membandingkan prediksi dengan label sebenarnya pada data uji.

Kesimpulan Analisis:

Berdasarkan analisis yang dilakukan, dapat disimpulkan bahwa model Naive Bayes dengan menggunakan atribut panjang dan lebar kelopak dan mahkota bunga iris dari dataset ‘iris’ dapat memberikan prediksi yang cukup akurat untuk mengklasifikasikan tingkat kecerdasan mahasiswa. Dalam contoh ini, akurasi digunakan sebagai metrik evaluasi untuk mengevaluasi performa model, di mana semakin tinggi akurasi, semakin baik model dalam memprediksi tingkat kecerdasan.