Faktor apa saja yang mempengaruhi nilai IPK seseorang?Tentu
pertanyaan itu tidak mudah dijawab, karena banyak factor yang mempengaruhi. Di
sini akan dianalisa variable apa saja yang mempengaruhinya, dan prediksi apa
saja yang akan didapatkan.
Data awal diambil dari data mahasiswa data terdiri dari 129 observasi dan 66 variabel, akan
dibatasi untuk variable (MBTI,
INTROVERT.I, SENSING.S, THINKING.T, JUDGING.J, E.EKSTROVERT, N.INTUITION,
F.FEELING, dan IPK .
Model yang akan dicoba adalah model random forest(rf), model gradient boosting(gbm) dan model neural network(nn), selanjutnya akan dipilih mana yang paling baik untuk prediksinya.
Model yang akan dicoba adalah model random forest(rf), model gradient boosting(gbm) dan model neural network(nn), selanjutnya akan dipilih mana yang paling baik untuk prediksinya.
File excel |
df1 <- read.csv(file excel)
#---Data partitioning
set.seed(1)
# randomly pick 70% of the number of observations (129)
index <- sample(1:nrow(df1),size = 0.7*nrow(df1))
# subset weather to include only the elements in the index
train <- df1[index,]
# subset weather to include all but the elements in the
index
test <- df1[-index,]
#---Set the model
set.seed(1)
regr_rf <- train(IPK~, data = train,
method="rf", ntree = 100)
regr_gbm <- train(IPK~ , data = train,
method="gbm")
regr_nn <- train(IPK~., data = train,
method = "nnet",
linout = TRUE,
preProcess = c('center', 'scale'),
maxit = 500,
tuneGrid = expand.grid(size = 2, decay = 0),
trControl = trainControl(method = "none", seeds = 1))
#---Validation
explainer_regr_rf <- DALEX:explain(regr_rf,
label="rf",
data =
test, y = test$IPK)
explainer_regr_gbm <- DALEX:explain(regr_gbm, label =
"gbm",
data =
test, y = test$IPK)
explainer_regr_nn <- DALEX:explain(regr_nn, label =
"nn",
data =
test, y = test$IPK)
Gb1 |
Gb2 |
#---Model performance
Function model_performance() calculates predictions and
residuals for validation dataset.
mp_regr_rf <- model_performance(explaner_regr_rf)
mp_regr_gbm <- model_performance(explainer_regr_gbm)
mp_regr_nn <- model_performance(explainer_regr_nn)
#Generic function print() returns quantiles for residuals.
mp_regr_rf
Gb4 |
plot(mp_regr_rf,mp_regr_gbm,mp_regr_nn)#ok
plot(mp_regr_rf,mp_regr_gbm,mp_regr_nn,geom =
"boxplot")#ok
#---Analysis
1.Dari Gb1, menunjukkan bahwa residual model random
forest(rf) dan model gradient boosting(gbm) lebih rendah dari model neural
network(nn)
2.Dari Gb2, grafik box-plot, jelas terlihat residual minimal
ada pada model random forest(rf)
3.Selanjutnya model yang akan dipakai random forest.
#--- Variable importance
Menggunakan paket DALEX, memudahkan melihat variable penting
yang berpengaruh. variable Importan dihitung dengan
perhitungan permutasi rata-rata.
Terlihat di Gb3, variable E.EXTROVERT,INTROVERT.I dan
THINKING.T sangat dominan.
vi_regr_rf <- variable_importance(explainer_regr_rf,
loss_function = loss_root_mean_square)
#vi_regr_gbm <- variable_importance(explainer_regr_gbm,
loss_function = loss_root_mean_square)
#vi_regr_nn <- variable_importance(explainer_regr_nn,
loss_function = loss_root_mean_square)
plot(vi_regr_rf, vi_regr_gbm)#OK
#--- Variable response
Partial Dependence Plots (PDP) adalah salah satu model
paling populer mengexplorasi hubungan antara variable dengan target.
pdp_regr_rf <-
variable_response(explainer_regr_rf, variable =
"MBTI", type = "factor")
#pdp_regr_gbm <-
variable_response(explainer_regr_gbm, variable = "MBTI", type = "factor")
plot(pdp_regr_rf,pdp_regr_gbm)#ok
#---Kesimpulan
1. Dapat dengan mudah memprediksi kelompok Nilai IPK, lihat Gb4 kelompok paling atas, IPK 3.245-3,26
2. Dapat menentukan dengan detail variable apa saja yang
mempengaruhi besarnya IPK.Lihat Gb4. variable yang berpengaruh adalah kelompok
variable, ENFP,ESTP dan INTP.
3. Model ini bisa dikembangkan untuk menguji varible yang
lain apakah berpengaruh terhadap IPK mahasiswa, misal mahasiswa yang kuliah
sambil bekerja, mahasiswa yang ikut banyak kegiatan extra, mahasiswa yang jalan
kaki ke kampus dsb.
Referensi:
Jurusanku
Rstudio
Towardsdatascience
NCBI Recources
Tidak ada komentar:
Posting Komentar