library(DT)
## Warning: package 'DT' was built under R version 4.4.3
df <- read.csv("C:\\Users\\ACER\\Downloads\\CC GENERAL.csv")
datatable(df)
## Warning in instance$preRenderHook(instance): It seems your data is too big for
## client-side DataTables. You may consider server-side processing:
## https://rstudio.github.io/DT/server.html
df <- df[, c("BALANCE",
"CREDIT_LIMIT",
"PAYMENTS",
"MINIMUM_PAYMENTS",
"PRC_FULL_PAYMENT",
"CASH_ADVANCE",
"CASH_ADVANCE_FREQUENCY",
"TENURE")]
datatable(df)
str(df)
## 'data.frame': 8950 obs. of 8 variables:
## $ BALANCE : num 40.9 3202.5 2495.1 1666.7 817.7 ...
## $ CREDIT_LIMIT : num 1000 7000 7500 7500 1200 1800 13500 2300 7000 11000 ...
## $ PAYMENTS : num 202 4103 622 0 678 ...
## $ MINIMUM_PAYMENTS : num 140 1072 627 NA 245 ...
## $ PRC_FULL_PAYMENT : num 0 0.222 0 0 0 ...
## $ CASH_ADVANCE : num 0 6443 0 206 0 ...
## $ CASH_ADVANCE_FREQUENCY: num 0 0.25 0 0.0833 0 ...
## $ TENURE : int 12 12 12 12 12 12 12 12 12 12 ...
colSums(is.na(df))
## BALANCE CREDIT_LIMIT PAYMENTS
## 0 1 0
## MINIMUM_PAYMENTS PRC_FULL_PAYMENT CASH_ADVANCE
## 313 0 0
## CASH_ADVANCE_FREQUENCY TENURE
## 0 0
missing <- data.frame(
missing = colSums(is.na(df)),
missing_percentage = (colSums(is.na(df)) / nrow(df)) * 100
)
missing
## missing missing_percentage
## BALANCE 0 0.00000000
## CREDIT_LIMIT 1 0.01117318
## PAYMENTS 0 0.00000000
## MINIMUM_PAYMENTS 313 3.49720670
## PRC_FULL_PAYMENT 0 0.00000000
## CASH_ADVANCE 0 0.00000000
## CASH_ADVANCE_FREQUENCY 0 0.00000000
## TENURE 0 0.00000000
df <- df[!is.na(df$CREDIT_LIMIT), ]
df <- df[!is.na(df$MINIMUM_PAYMENTS), ]
datatable(df)
colSums(is.na(df))
## BALANCE CREDIT_LIMIT PAYMENTS
## 0 0 0
## MINIMUM_PAYMENTS PRC_FULL_PAYMENT CASH_ADVANCE
## 0 0 0
## CASH_ADVANCE_FREQUENCY TENURE
## 0 0
x <- df[sapply(df, is.numeric)]
datatable(x)
for (colname in names(x)) {
boxplot(
x[[colname]],
main = paste("Box plot for", colname),
col = "lightblue",
horizontal = TRUE
)
}
library(ggplot2)
for (colname in names(x)) {
# Pastikan kolom bertipe numerik
if (is.numeric(x[[colname]])) {
ggplot(x, aes_string(x = colname)) +
geom_histogram(aes(y = ..density..), bins = 30, fill = "skyblue", color = "black") +
geom_density(color = "red", size = 1) +
ggtitle(paste("Histogram for", colname)) +
xlab(colname) +
ylab("Density") +
theme_minimal() -> p
print(p)
}
}
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## 3. Transformasi data ##### Hal ini dilakukan untuk mengetasi skewness
for (colname in names(x)) {
x[[colname]] <- log1p(x[[colname]])
}
data <- x
columns_to_exclude <- c('CASH_ADVANCE_FREQUENCY', 'PRC_FULL_PAYMENT', 'TENURE')
columns_to_winsorize <- setdiff(names(x), columns_to_exclude)
columns_to_winsorize
## [1] "BALANCE" "CREDIT_LIMIT" "PAYMENTS" "MINIMUM_PAYMENTS"
## [5] "CASH_ADVANCE"
fold <- 1.5
for (col in names(data)) {
if (!(col %in% columns_to_exclude)) {
Q1 <- quantile(data[[col]], 0.25, na.rm = TRUE)
Q3 <- quantile(data[[col]], 0.75, na.rm = TRUE)
IQR <- Q3 - Q1
lower_bound <- Q1 - fold * IQR
upper_bound <- Q3 + fold * IQR
data[[col]] <- ifelse(data[[col]] < lower_bound, lower_bound,
ifelse(data[[col]] > upper_bound, upper_bound, data[[col]]))
}
}
library(ggplot2)
for (colname in names(data)) {
p <- ggplot(data, aes_string(x = colname)) +
geom_boxplot(fill = "lightblue") +
ggtitle(paste("Box plot for", colname)) +
theme_minimal()
print(p)
}
for (colname in names(data)) {
if (is.numeric(data[[colname]])) {
p <- ggplot(data, aes_string(x = colname)) +
geom_histogram(aes(y = ..density..), bins = 30, fill = "lightblue", color = "black") +
geom_density(color = "red", size = 1) +
ggtitle(paste("Histogram for", colname)) +
xlab(colname) +
ylab("Density") +
theme_minimal()
print(p)
}
}
library(dbscan)
db <- dbscan(data, eps = 1.50, minPts = 7)
labels <- db$cluster
labels
## [1] 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2
## [38] 2 2 2 2 1 2 1 2 1 2 2 1 2 2 1 2 2 1 1 2 2 1 2 2 1 1 2 2 2 1 1 1 1 1 2 2 1
## [75] 0 1 1 2 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 2 2 2 1 2 2 1 1 1 2 1 2 2 1 2 2
## [112] 1 2 1 2 1 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 1 2 1 2 2 2 1 1 1 2 1
## [149] 2 1 1 2 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 1 1 2 2 2
## [186] 1 2 1 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 1 2
## [223] 1 2 1 1 1 2 1 1 2 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 1 2 1 2 1 2 1 2 1 1 2 2 2
## [260] 2 1 2 1 2 1 2 1 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1 2 1 1
## [297] 2 2 1 2 1 1 1 2 2 1 1 1 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2
## [334] 1 1 1 2 2 1 2 1 1 1 1 1 1 2 2 2 2 1 1 2 1 2 1 1 1 1 2 2 1 2 1 2 2 2 1 1 2
## [371] 1 1 2 2 1 2 1 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1
## [408] 1 2 1 1 2 1 1 1 2 2 2 1 1 1 2 2 1 1 1 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 2 1 1
## [445] 1 0 2 1 1 2 1 2 1 2 2 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1 1 2 2 1 1 2 1
## [482] 1 2 1 2 1 1 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 2 2 2 2 2 1
## [519] 2 2 2 2 1 2 1 1 2 1 1 1 1 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 1 1 1 2 1 1 1 2
## [556] 2 1 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 2 1 2 2 2 1 2 1 1 1 2 2 1 1 1 1 2 2 1 1
## [593] 2 1 2 2 1 2 2 2 1 1 2 1 1 2 1 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2
## [630] 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2
## [667] 2 2 2 2 2 1 1 1 2 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 2 1 2 2 1 1 1 2 0 1 2 2
## [704] 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2
## [741] 2 1 1 2 2 2 1 1 2 2 1 1 1 1 1 2 2 0 2 1 1 1 1 2 2 1 2 2 1 2 1 2 2 2 1 1 1
## [778] 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 2 2 2 1 1 2 2 2 2
## [815] 2 2 1 2 2 1 1 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 2 1
## [852] 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 1
## [889] 2 1 2 2 2 2 1 1 1 2 1 2 1 2 2 1 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2
## [926] 1 1 1 2 2 1 1 2 1 1 2 2 2 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2 2 1 2 2 2 2 2 1 1
## [963] 2 1 2 1 2 2 2 2 1 1 2 1 1 1 1 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 1
## [1000] 1 2 0 1 1 2 2 2 1 2 1 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 2 2 1 1 1 1 2
## [1037] 2 1 2 2 1 2 1 1 1 1 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1
## [1074] 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 2 1 1 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 1 1 1
## [1111] 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 2 1 2 2 1 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 2
## [1148] 1 1 2 1 1 2 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 1 1 1 1 1
## [1185] 1 1 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 2
## [1222] 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 1 1 2 2 1 2 2
## [1259] 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 1 2 1 2 1 2 1 1 1 2 2 1 2 2
## [1296] 2 1 2 1 2 2 2 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 2 0 1 1 1 1
## [1333] 2 1 2 1 2 2 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 1 1 1 0 1 1
## [1370] 2 2 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 2 1 1 2 2 1 2 2 2 2 1 2 1 2 2 2 1 1 1 1
## [1407] 1 2 1 1 1 1 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 1 2 1 1 1 1 2 1 2 2 2 1 2 2 1 1
## [1444] 2 2 2 2 2 2 2 1 1 2 2 2 1 2 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 1 1 1 2 2 1 2
## [1481] 1 2 2 2 2 1 0 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 1
## [1518] 2 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 1 2 1 2 1 1 2 1 1 1 2 1 2 2 1 1 2 1 2 1
## [1555] 1 2 2 2 1 2 2 1 2 2 2 2 1 1 2 1 1 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1
## [1592] 2 2 2 1 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2
## [1629] 1 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1
## [1666] 1 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 2
## [1703] 2 2 1 2 1 1 1 2 1 2 2 1 2 1 1 2 2 2 1 1 2 1 1 2 2 1 1 2 1 2 2 1 1 2 1 1 1
## [1740] 1 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 1 1 2 1 2 1 2 2 1 2 1 1 2 1 2 1 1
## [1777] 2 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 1 1 2
## [1814] 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2
## [1851] 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2
## [1888] 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 1 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 1
## [1925] 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 2 2 1 1
## [1962] 2 1 1 1 2 2 1 2 1 2 2 1 1 1 2 2 1 1 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 1 1 2 2
## [1999] 1 1 1 2 2 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1
## [2036] 2 1 2 1 1 2 1 2 2 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 1 1 2 2 1 1 2 1 2 2 1 1 1
## [2073] 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 2
## [2110] 1 1 1 1 1 1 1 2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 1 1 1
## [2147] 2 1 1 1 2 1 1 1 1 2 2 1 2 2 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1
## [2184] 1 2 1 1 1 2 1 2 2 2 1 2 1 2 2 2 1 1 1 1 2 2 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1
## [2221] 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 1 1 2 2
## [2258] 2 1 1 1 2 1 1 1 2 2 1 2 2 1 1 1 2 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 1 2 1 2 1
## [2295] 2 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 2 1 2 2 1 2 1 1 1 1 2 1 2 1
## [2332] 2 2 1 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 2 1 2 2 1 1 2 2 2 1 1
## [2369] 1 1 2 1 2 2 1 1 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 2 1 2 2 1 2 1 2 2 2 2 2 2
## [2406] 2 1 2 1 1 1 1 1 1 2 1 1 2 1 2 2 2 1 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 1
## [2443] 0 2 2 1 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2 1 2 1 1 2 2
## [2480] 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 1 2 2 2 2 1 1 1 2 1 1 1 1 2 2 1 2 1
## [2517] 2 2 2 1 1 1 2 1 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2
## [2554] 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1
## [2591] 2 1 2 2 2 1 1 2 1 2 2 1 1 1 2 1 2 2 1 1 2 2 1 2 2 1 2 1 1 1 2 2 2 2 1 2 2
## [2628] 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 1 1 2 2 2 1 1 1 1 1 1 2 2
## [2665] 2 1 2 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 1 2 2 1 2 2 2 2 1 2 1
## [2702] 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 1
## [2739] 1 1 1 2 2 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 1 1 2 1 2 2 2 2 1 2
## [2776] 1 1 2 1 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 2 2 1 2 2 2 2 1
## [2813] 1 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 1
## [2850] 2 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1 1 1 2 1 2 1 2 2 1 2 2 1 1 1 1 2 2 0 2 1
## [2887] 1 1 1 2 2 1 1 2 1 2 1 1 1 2 2 1 1 1 2 2 1 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1
## [2924] 2 2 1 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 2 2 2 1 2 1 1 2 1 2 2 2 1 2
## [2961] 1 2 2 2 1 1 1 1 2 1 1 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1 2 1 1 2 2 2 2 2 1
## [2998] 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 2
## [3035] 1 2 2 2 1 1 1 2 1 2 2 2 1 1 1 2 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 1 2 2
## [3072] 1 1 1 2 2 1 2 2 2 1 2 1 2 2 1 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 1 2 2 1 1
## [3109] 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 2 1 2 1 2 2 1 1 1 2 1 2 2 2 2 1 2 2 1 1 2
## [3146] 2 2 2 1 2 2 2 1 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2
## [3183] 2 1 2 2 1 2 2 1 2 0 1 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1
## [3220] 2 2 1 2 2 2 2 2 2 2 2 2 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 1
## [3257] 2 1 1 2 2 1 1 1 2 1 1 2 1 1 1 2 2 1 2 2 1 1 1 1 1 1 1 2 1 1 2 2 2 1 2 1 1
## [3294] 1 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 1 1 2 2 1 2 1 2 1 1 2 1 2 1 1 2 1 1 1
## [3331] 2 2 1 2 2 1 1 1 1 1 2 0 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 1 2 2
## [3368] 1 2 2 1 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 1 2 2 2 1
## [3405] 2 2 2 2 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 2 2 2 1 2 1 2 2 2 2 1 2 2 2 1
## [3442] 2 2 2 2 1 2 2 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2
## [3479] 1 1 2 1 1 1 2 1 1 2 1 1 2 2 2 2 1 1 1 2 2 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2
## [3516] 1 2 2 2 1 1 2 2 1 2 1 1 1 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 1 2 1 2 2 1
## [3553] 1 2 2 1 1 2 1 1 1 1 1 1 2 1 2 1 2 2 1 1 2 1 1 2 1 1 2 1 1 1 2 1 2 1 2 2 2
## [3590] 2 2 1 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2
## [3627] 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 1 1 2 2 1 2 2 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1
## [3664] 2 1 2 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 1 2 1 1 2 2 1 2 1 2
## [3701] 2 1 1 1 2 1 1 2 1 2 1 1 1 2 1 1 2 2 2 1 2 1 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1
## [3738] 2 1 2 1 2 1 2 1 1 2 2 2 1 1 2 2 2 1 1 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 2 1
## [3775] 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 1 1 2 1 1 2 1 1 1
## [3812] 1 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 2 2 2 1 1 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2
## [3849] 1 1 1 2 1 1 2 2 2 1 2 1 2 2 1 2 2 1 2 1 1 1 2 2 2 1 2 2 1 2 1 2 1 0 1 2 1
## [3886] 1 1 2 1 1 2 2 1 2 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 0 1 1 1 2 2 2 2 2 2 1 1
## [3923] 2 2 1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 2 1 1 1
## [3960] 2 1 1 1 2 2 2 1 1 2 1 2 1 1 2 1 2 1 2 1 1 0 2 1 2 2 1 1 2 1 2 2 2 1 1 1 2
## [3997] 2 2 1 1 2 1 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 0 1 2 2 1 1 2 2 1 2 2 1
## [4034] 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 2 1 2 2 2 1 1 2 2 2 1 1 1 1 2 1 1 0 2 2 1 2
## [4071] 2 2 1 2 1 2 1 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 1 2 2 2 1
## [4108] 1 2 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 2 2 2 1 1 2 2 1 1 1 2 2 1 2 1 1 2 1 1
## [4145] 1 2 1 2 1 2 1 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 1 1 2 2
## [4182] 2 2 2 2 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 2
## [4219] 2 1 2 2 2 1 1 1 1 2 1 1 2 1 2 2 2 2 1 1 1 2 1 1 2 1 2 1 2 2 2 1 2 2 1 2 1
## [4256] 2 1 1 1 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 2 2 2 1 1 2
## [4293] 1 2 1 1 1 1 2 2 1 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 2 1 2 1 2 1 1 2 1 2
## [4330] 1 2 1 1 2 2 2 2 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 1
## [4367] 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1
## [4404] 1 2 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 1
## [4441] 2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 2 1 2 1 1 2 1 1 1 1 2 1 2 1 2 2 2 2 1 2 1 1
## [4478] 1 1 2 1 1 2 1 2 2 2 2 1 2 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1
## [4515] 0 1 2 1 2 2 1 2 2 1 1 1 1 1 2 1 2 2 2 1 2 1 2 2 1 1 2 1 1 1 1 2 2 2 1 2 1
## [4552] 2 1 2 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 1
## [4589] 2 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 1
## [4626] 2 2 1 2 1 1 1 2 2 2 1 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 1 1 1 2 2 1 2 1 1 1 2
## [4663] 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 2 1 2 2 1 1 1
## [4700] 2 1 1 1 1 1 2 2 1 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 2
## [4737] 1 2 2 1 2 1 1 1 2 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 1
## [4774] 1 1 1 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 0 2 1 2 1 2 2 2 2 1 1 1 2 1 2
## [4811] 1 1 1 2 2 2 2 2 1 1 1 1 2 1 1 2 1 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1
## [4848] 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 2 2 1 2 1 2 2 1 1 2 1
## [4885] 2 1 1 1 1 2 2 1 1 1 2 2 2 1 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1
## [4922] 2 1 1 2 1 2 1 2 2 2 1 2 2 1 1 1 2 2 1 1 1 2 1 1 1 2 1 1 1 1 2 1 2 1 1 2 1
## [4959] 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 2 1 2 1 1 2
## [4996] 2 2 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 2 2 1 2 2 1 2 2 2 2 1 1 2
## [5033] 1 2 1 1 2 2 2 2 1 1 2 1 2 2 1 2 1 1 1 1 2 2 1 1 1 1 2 2 1 1 1 2 2 1 1 2 1
## [5070] 2 1 2 2 2 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 2
## [5107] 1 2 2 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 2 1 1
## [5144] 1 1 2 2 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1
## [5181] 2 2 1 2 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 1 1 1 1 2 2 2 2 2 2 2 1 2 2 2 2 2
## [5218] 1 1 2 2 1 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 2 1 1 2 2 1 2 1
## [5255] 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 2 2 2 2 2 2 1 1 2 1 2 1 2 2 2 1 1 2 1 2 2
## [5292] 2 1 2 1 1 1 2 2 1 1 2 2 1 2 2 2 2 1 2 2 2 1 1 2 1 1 1 2 2 2 1 1 2 1 2 1 1
## [5329] 2 0 1 2 2 1 2 2 2 1 1 2 2 2 1 2 2 1 2 2 1 2 1 1 2 1 1 1 1 2 1 1 1 2 2 1 2
## [5366] 2 1 2 1 2 1 2 2 1 1 1 2 1 1 1 2 2 2 2 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 2 2 1
## [5403] 1 2 2 1 2 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 0 2 1 2 1 2 2 1 1 1 1 1 2 1 1 1
## [5440] 1 2 1 1 1 2 1 1 1 1 2 1 2 2 2 1 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 1 1 1
## [5477] 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 1 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 2 2
## [5514] 1 1 1 2 1 2 2 2 2 1 1 1 1 2 2 2 1 1 2 2 2 1 1 2 2 1 1 2 1 2 2 1 1 1 2 1 2
## [5551] 1 2 2 2 1 1 2 2 1 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 2 1 1 2 1
## [5588] 2 1 2 2 1 1 1 2 2 1 1 2 2 2 1 2 2 1 2 1 1 2 2 1 0 2 2 2 2 1 1 1 2 1 1 2 1
## [5625] 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 1 1 1 2
## [5662] 2 1 2 1 1 2 1 1 1 1 1 1 2 2 2 1 1 1 2 2 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 2 2
## [5699] 1 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 2 1 2
## [5736] 2 1 1 2 1 2 2 1 1 1 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 1 1 2 1
## [5773] 1 1 2 2 2 2 2 1 2 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 2 2 1 2
## [5810] 1 2 2 2 1 1 2 2 2 1 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 2 2 1 2
## [5847] 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 2 2 1 1 2 1 2 2 2 2 1 2 2 1 1 2 2
## [5884] 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 1 1 2 1 2 2 2 1 2 2 1
## [5921] 1 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 1 2 2 1
## [5958] 2 1 1 1 2 2 2 2 1 2 1 2 1 2 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 2
## [5995] 1 1 2 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 1 1 1 2 2 1
## [6032] 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 0 1 2 1 2 1 2 2
## [6069] 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 2 2 1 2 1 1 1 2 2 1 1 1 1 1 2 2 1 2 1 2 2 2
## [6106] 1 1 1 2 2 2 1 2 2 2 1 2 2 2 2 1 2 2 1 2 1 1 2 1 1 2 1 1 2 1 2 2 2 1 2 2 1
## [6143] 1 1 2 1 2 2 2 2 1 1 2 1 2 2 2 2 2 2 1 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 1 1 1
## [6180] 2 1 2 2 1 1 2 1 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2 1 1
## [6217] 1 1 2 1 1 2 2 1 2 2 1 1 1 1 2 2 2 1 1 2 2 1 2 1 1 1 2 1 2 1 2 1 2 2 1 2 2
## [6254] 2 1 2 2 2 1 2 1 2 2 1 2 2 2 1 1 2 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 2 1 1
## [6291] 1 2 1 1 2 1 1 1 2 1 2 2 1 2 1 2 1 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1
## [6328] 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 2 1 1 1 2 1 1 1 1 1
## [6365] 1 1 2 1 2 1 1 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 2
## [6402] 2 2 2 1 1 1 2 1 2 2 1 1 1 2 1 1 1 1 2 2 1 2 1 2 2 2 2 1 1 1 1 2 1 2 2 1 1
## [6439] 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 1 1 2 1 1 2
## [6476] 2 1 1 1 1 2 2 1 2 1 1 2 1 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 2 1 2 2 1 1 2
## [6513] 1 1 1 2 1 2 1 1 1 2 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 1
## [6550] 2 2 1 1 1 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 2 1 1 2 1 2 1 2 2 1 1 2 1 2 1
## [6587] 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 2 2 1 1 2 1 1 2 1 1 1 1 1 2 2 1 2 2 2 2 1 1
## [6624] 2 2 1 1 2 1 1 2 1 1 1 2 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 1 2 1 1 1 2 2 2
## [6661] 2 1 1 1 2 1 2 2 2 2 2 1 1 2 1 2 2 1 2 1 2 1 1 2 2 2 1 1 1 2 2 1 2 1 1 1 1
## [6698] 1 1 2 1 2 2 1 1 1 1 2 1 2 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 1 0 1 1 1 2 2 2 2
## [6735] 2 1 1 1 2 2 2 2 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 2 1 1 1 2 1 2 1 2 1 2
## [6772] 2 1 1 1 2 2 1 1 1 2 1 2 2 2 1 1 2 1 1 1 1 2 2 1 1 2 1 1 2 1 1 2 1 1 2 2 1
## [6809] 1 1 1 2 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2
## [6846] 2 1 2 2 2 1 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 2
## [6883] 2 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 1 2 1 1 1 1 1 1 1 2 2 1 1 1 1
## [6920] 1 1 1 1 1 1 2 2 2 1 2 2 2 1 1 2 1 2 1 2 2 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1
## [6957] 2 1 2 1 2 2 1 2 1 2 2 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 1
## [6994] 2 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 1 1 1
## [7031] 1 1 1 1 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 1 1 1 1 2 1 2 2 2 1 1 1 2 2 1 1
## [7068] 1 2 2 1 1 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 2 2 2 1 1
## [7105] 2 2 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2
## [7142] 1 1 2 1 1 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 1 2 1 1
## [7179] 1 2 1 1 2 2 1 1 1 2 0 2 2 2 2 1 2 2 1 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 1
## [7216] 1 1 1 2 2 1 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 1 2 2 2 1 1 2 2 2 1 1 2 2 2 1 1
## [7253] 2 1 1 2 2 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1 1 2
## [7290] 2 1 2 1 1 2 2 1 0 2 2 1 2 1 1 1 1 2 1 2 2 2 2 1 1 2 1 1 2 1 2 2 2 2 1 2 1
## [7327] 2 1 2 1 1 2 1 1 1 1 1 2 1 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2
## [7364] 1 1 1 1 2 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 1 1
## [7401] 2 1 2 1 1 2 2 2 1 1 1 2 1 2 2 1 1 1 1 1 1 1 2 2 2 2 1 2 2 1 2 2 2 2 1 1 1
## [7438] 2 2 2 2 2 2 1 2 1 1 1 1 2 1 2 2 1 1 2 1 1 1 1 1 2 1 1 1 2 2 1 2 1 2 1 1 1
## [7475] 1 2 1 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 1 1 1 2 1 2 0 2 1 2 1 2 2 1 2 1 2
## [7512] 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 1 2 1 1 1 2
## [7549] 1 1 2 1 2 1 1 1 2 1 2 2 2 1 2 2 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 2 1 2 1 1 1
## [7586] 1 2 2 2 2 2 2 2 1 1 2 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 2 2 1 2
## [7623] 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 1 1
## [7660] 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2
## [7697] 1 1 1 2 2 2 1 2 2 2 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 2 1 2 1 1 2 1
## [7734] 1 1 2 1 2 2 2 1 2 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 2 1 2
## [7771] 1 2 1 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1
## [7808] 1 2 1 2 2 2 2 1 2 2 1 1 2 2 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 1 2 1 1 1 1 1 2
## [7845] 1 2 1 1 1 1 2 2 2 2 2 1 2 2 1 2 2 1 1 2 1 2 1 1 1 2 2 2 2 2 2 1 2 2 2 2 1
## [7882] 2 2 1 1 2 1 1 2 2 1 2 1 2 2 2 1 2 2 1 2 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 2
## [7919] 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 2 2 1 1 2 2
## [7956] 1 2 1 1 1 1 2 1 2 1 1 2 1 2 2 2 1 1 1 1 1 2 2 1 1 2 1 1 2 2 1 1 1 1 1 2 2
## [7993] 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1
## [8030] 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 1 2 1 1 2 2 2 1 1 1 1 1 2 1 1 1 1 1 2
## [8067] 1 2 2 1 1 2 2 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 2 1 1 2 2 1 2 1 1 2 1
## [8104] 1 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 2 1 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1
## [8141] 2 2 2 2 2 1 1 2 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 2 1 1 1 1 2 1 2 1 1 1 2 2 1
## [8178] 1 2 1 2 2 1 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2
## [8215] 2 2 2 2 2 1 1 1 1 1 2 2 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 2 2 1
## [8252] 1 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2
## [8289] 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 1 1 2 1 1 1 1 2 1 2 2 1 2 2 2 2 2 1 1 1 1
## [8326] 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 1 1 2
## [8363] 2 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1
## [8400] 2 2 2 1 1 1 1 2 1 1 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 1 2 2 1 2 2 1 0 1 2 1 2
## [8437] 2 1 2 1 1 2 2 1 1 1 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 1 1 2 1 1 1 1 1 2 2
## [8474] 2 2 1 2 1 1 2 1 1 1 2 2 2 2 2 1 2 2 1 1 1 1 1 2 2 2 1 1 2 1 1 1 2 2 1 2 2
## [8511] 1 1 2 1 1 1 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2
## [8548] 2 2 2 1 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 1 1 2 1 1 2
## [8585] 2 1 2 2 1 2 0 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 2 1
## [8622] 1 2 1 1 2 2 2 1 2 1 1 1 1 0 2
df$Cluster <- labels
datatable(df)
library(ggplot2)
# PCA reduksi
pca <- prcomp(data, scale. = TRUE)
data_reduced <- data.frame(pca$x[, 1:2])
# Buat label cluster: ubah 0 jadi "Noise", lainnya tetap
data_reduced$Cluster <- as.character(labels)
data_reduced$Cluster[data_reduced$Cluster == "0"] <- "Noise"
data_reduced$Cluster <- factor(data_reduced$Cluster)
# Buat warna secara eksplisit
cluster_levels <- levels(data_reduced$Cluster)
n_clusters <- length(cluster_levels)
# Buat vektor warna: "Noise" hitam, sisanya rainbow
colors <- setNames(
c("black", rainbow(n_clusters - 1)),
cluster_levels
)
# Plot
ggplot(data_reduced, aes(x = PC1, y = PC2, color = Cluster)) +
geom_point(size = 3, alpha = 1) +
scale_color_manual(values = colors) +
ggtitle("DBSCAN Clustering (PCA Reduced Data)") +
theme_minimal()
data_cluster1 <- subset(data_reduced, Cluster == "1")
ggplot(data_cluster1, aes(x = PC1, y = PC2)) +
geom_point(color = "blue", size = 3, alpha = 0.7) +
ggtitle("DBSCAN - Cluster 1") +
theme_minimal()
data_cluster2 <- subset(data_reduced, Cluster == "2")
ggplot(data_cluster2, aes(x = PC1, y = PC2)) +
geom_point(color = "red", size = 3, alpha = 0.7) +
ggtitle("DBSCAN - Cluster 2") +
theme_minimal()