Materi Demo Data Mining

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

MATERI-DEMO-3

# contoh-1

# Load necessary libraries

library(e1071) # For Naive Bayes

library(caret) # For evaluation

# Load the iris dataset

data(iris)

# View the first few rows of the dataset

head(iris)

# Set seed for reproducibility

set.seed(123)

# Split the data into training (70%) and testing (30%) sets

sample_index <- sample(1:nrow(iris), 0.7 * nrow(iris))

train_data <- iris[sample_index, ]

test_data <- iris[-sample_index, ]

# Train the Naive Bayes model

naive_bayes_model <- naiveBayes(Species ~ ., data = train_data)

# Predict using the Naive Bayes model

predictions <- predict(naive_bayes_model, test_data)

# Confusion matrix to see the performance of the model

conf_matrix <- confusionMatrix(predictions, test_data$Species)


print(conf_matrix)

# Print the accuracy

accuracy <- conf_matrix$overall['Accuracy']

print(accuracy)

# contoh-2

# Memuat library yang diperlukan

install.packages("class")

install.packages("caret")

install.packages("e1071")

library(class)

library(caret)

library(e1071)

# Memuat dataset Iris

data(iris)

# Melihat struktur data

str(iris)

# Membagi dataset menjadi set pelatihan (80%) dan set pengujian (20%)

set.seed(123)

trainIndex <- createDataPartition(iris$Species, p = 0.8, list = FALSE)

trainData <- iris[trainIndex, ]

testData <- iris[-trainIndex, ]

# Normalisasi data
normalize <- function(x) {

return ((x - min(x)) / (max(x) - min(x)))

trainData[, 1:4] <- as.data.frame(lapply(trainData[, 1:4], normalize))

testData[, 1:4] <- as.data.frame(lapply(testData[, 1:4], normalize))

# Menentukan nilai k

k <- 3

# Menggunakan model k-NN

knn_pred <- knn(train = trainData[, 1:4], test = testData[, 1:4], cl = trainData$Species, k = k)

# Mengevaluasi model

confusionMatrix <- confusionMatrix(knn_pred, testData$Species)

print(confusionMatrix)
# contoh-3

pkgs <- sort(c('tidyverse', 'caret', 'RWeka', 'lattice', 'scales',

'e1071', 'MASS', 'nnet', 'rpart', 'C50', 'randomForest', 'keras',

'mlbench'

))

pkgs_install <- pkgs[!(pkgs %in% installed.packages()[,"Package"])]

if(length(pkgs_install)) install.packages(pkgs_install)

library(tidyverse)

options(digits=3)

data(Zoo, package="mlbench")

Zoo <- as_tibble(Zoo)

Zoo

library(caret)

inTrain <- createDataPartition(y = Zoo$type, p = .8)[[1]]

Zoo_train <- Zoo |> slice(inTrain)

Zoo_test <- Zoo |> slice(-inTrain)

train_index <- createFolds(Zoo_train$type, k = 10)

knnFit <- Zoo_train |> train(type ~ .,

method = "knn",
data = _,

preProcess = "scale",

tuneLength = 5,

tuneGrid=data.frame(k = 1:10),

trControl = trainControl(method = "cv", indexOut = train_index))

knnFit

knnFit$finalModel

You might also like