memasukan semua library yang kita perlukan
library(readxl)
library(caTools)
library(rpart)
library(rpart.plot)
library(readxl)
memasukan excel yang akan kita analisis
data <- read_excel("D:/TUGAS/R/Level Risiko Investasi.xlsx", sheet = "Training")
data2 <- read_excel("D:/TUGAS/R/Level Risiko Investasi.xlsx", sheet = "Testing")
head(data)
## # A tibble: 6 × 16
## Country X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AD 17.5 38675. 173. 0.68 1.22 1.79 -2.08 55 -26.5 2.86 8
## 2 AE 18.2 40105. 104. 1.77 0.870 2.66 -0.725 103. -13.6 353. 8.15
## 3 AE-AZ 18.7 76038. 31.0 2.63 1.49 1.85 -1.90 103. -56.2 200. 8.15
## 4 AE-RK NA 27883. 24.8 1.29 1.75 2.23 -1.14 103. 24.8 10.1 NA
## 5 AM 14 4251. 89.6 1.44 0.256 4.75 2.33 167. 47.3 12.6 6.6
## 6 AO NA 2034. 57.1 22.4 3.34 -0.878 -5.20 34.8 15.4 62.5 10.3
## # ℹ 4 more variables: X12 <dbl>, X13 <dbl>, X14 <dbl>, `Risk Level` <chr>
head(data2)
## # A tibble: 6 × 15
## Country X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 SE 23.2 60338. 175. 1.62 0.676 2.47 0.353 186. 64.1 538. 0.5
## 2 SG 16.8 62433. 410. 0.105 0.907 2.78 0.291 94.0 -201. 340. 1.31
## 3 SI 18.3 28684. 103. 0.844 0.0746 3.55 1.93 72.3 16.2 52.8 3.02
## 4 SK 19.7 21043. 103. 1.17 0.0734 3.22 1.23 112. 33.4 103. 2.53
## 5 SM 11.9 49356. 60.2 0.896 0.586 1.75 -1.13 88.6 -145. 1.49 63.5
## 6 SV NA 3989. 65.6 0.394 0.504 2.45 -0.125 88.9 27.3 24.6 1.57
## # ℹ 3 more variables: X12 <dbl>, X13 <dbl>, X14 <dbl>
proses ini melakukan eliminasi terhadap data data yang hilang
data <- na.omit(data)
membagi data mejadi 2 yaitu train dan test dengan rasio 90% dan 10%
set.seed(123)
split <- sample.split(data$`Risk Level`, SplitRatio = 0.9)
train_data <- subset(data, split == TRUE)
test_data <- subset(data, split == FALSE)
membangun model yang akan digunakan sya menggunakan model decision tree
model <- rpart(`Risk Level` ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 + X11 + X12 + X13 + X14,data = train_data, method = "class")
digunakan untuk melihat bagaimana model kita berjalan
rpart.plot(model)
ini dilakukan untuk melihat apakah proses kita berjalan apa tidak
predictions <- predict(model, newdata = test_data, type = "class")
print(predictions)
## 1 2 3 4 5 6
## low high low high low high
## Levels: high low
accuracy <- sum(predictions == test_data$`Risk Level`) / nrow(test_data)
print(paste("Accuracy: ", accuracy))
## [1] "Accuracy: 1"
lalu kita memprediksi data testing yang ada di excel
prediksi <- predict(model, newdata = data2, type = "class")
print(prediksi)
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## low low low low low high low high high low low high low low low high
## 17
## high
## Levels: high low
table(Predicted = predictions, Actual = test_data$`Risk Level`)
## Actual
## Predicted high low
## high 3 0
## low 0 3
data$X1 <- as.factor(data$X1)
print(test_data)
## # A tibble: 6 × 16
## Country X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 DK 22.6 67566. 156. 0.54 0.361 2.69 1.31 359. -5.59 355. 1.8
## 2 JM 14.3 4939. 90.8 3.60 0.481 1.18 -1.46 88.9 38.1 13.8 2.8
## 3 KZ 27.0 10589. 56.2 7.95 1.34 3 0.905 83.5 -38.6 171. 7.9
## 4 NA 15.2 5051. 60.5 4.86 1.88 0.754 -3.58 91.3 19.0 10.7 6.4
## 5 PE 15.6 6528. 35.4 2.70 1.05 3.17 -0.748 117. -20.7 205. 4.13
## 6 RO 23.2 14982. 52.6 1.52 -0.588 4.72 3.94 74.4 18.7 249. 4.06
## # ℹ 4 more variables: X12 <dbl>, X13 <dbl>, X14 <dbl>, `Risk Level` <chr>
print(train_data)
## # A tibble: 61 × 16
## Country X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 AD 17.5 38675. 173. 0.68 1.22 1.79 -2.08 55 -26.5 2.86
## 2 AE 18.2 40105. 104. 1.77 0.870 2.66 -0.725 103. -13.6 353.
## 3 AM 14 4251. 89.6 1.44 0.256 4.75 2.33 167. 47.3 12.6
## 4 AT 18.6 53174. 159. 1.52 0.726 1.88 -0.300 116. 15.4 430.
## 5 AU 15.7 63972. 122. 1.65 1.48 2.45 0.0306 192. 58.0 1359.
## 6 AW 33.5 24643. 92.8 1.22 0.797 2.06 -4.72 80.5 28.1 2.38
## 7 BD 4.2 2324. 19.7 5.81 1.06 7.39 6.07 78.4 4.92 347.
## 8 BG 22.7 11289. 70.3 0.779 -0.710 3.62 2.70 73.0 -13.0 69.1
## 9 BJ 10.5 1421. 49.6 0.225 2.77 4.88 2.21 81.5 20.6 15.4
## 10 CA 16.1 51705. 118. 1.67 1.19 1.80 -0.588 107. 45.5 1722.
## # ℹ 51 more rows
## # ℹ 5 more variables: X11 <dbl>, X12 <dbl>, X13 <dbl>, X14 <dbl>,
## # `Risk Level` <chr>
insight dari hasil diatas adalah: