Академический Документы
Профессиональный Документы
Культура Документы
as.Date, as.Date.numeric
Please use the package to use the new (and old) GUI.
sleep
Warning messages:
1: package ‘VIM’ was built under R version 3.5.1
2: package ‘colorspace’ was built under R version 3.5.1
3: package ‘data.table’ was built under R version 3.5.1
> #BUAT SET DATA TRAINING DAN TESTING
> dataku<-datajur_
> dataku$TARGET<-as.factor(as.character(dataku$TARGET))
> View(dataku)
> n<-nrow(dataku)
> p<-ncol(dataku)
> m<-p-1
> Sample<-sample(1:n,0.30*n) #untuk ambil sampel, datanya
> testing<-dataku[Sample,] #Sample=nomor sampel #, kosong itu maksudnya se
mua kolom
> dataku$TARGET<-as.factor(as.character(dataku$TARGET))
> learning<-dataku[-Sample,]
> write.table(testing, file="testing.csv", sep=",",row.names=F)
> write.table(learning, file="learning.csv", sep=",",row.names=F)
1. CTREE
> C1<-print("ID3")
[1] "ID3"
> library(party)
> model_ct <- ctree(TARGET~MIN+PTS+FG.+FT.+REB+AST+STL+BLK+TOV, data=learning)
> plot(model_ct)
>
Call:
naiveBayes.default(x = X, y = Y, laplace = laplace)
A-priori probabilities:
Y
0 1
0.3731343 0.6268657
Conditional probabilities:
MIN
Y [,1] [,2]
0 13.97457 6.123360
1 19.62058 8.522495
PTS
Y [,1] [,2]
0 4.841143 2.681170
1 7.751020 4.588217
FG.
Y [,1] [,2]
0 42.04629 6.444684
1 45.12177 5.494638
FT.
Y [,1] [,2]
0 69.24657 10.830173
1 70.99048 9.942363
REB
Y [,1] [,2]
0 2.181429 1.336129
1 3.427721 2.050445
AST
Y [,1] [,2]
0 1.133143 0.9221495
1 1.565136 1.2524152
STL
Y [,1] [,2]
0 0.4920000 0.3257682
1 0.6785714 0.4195601
BLK
Y [,1] [,2]
0 0.2428571 0.2564757
1 0.3867347 0.3686998
TOV
Y [,1] [,2]
0 0.9122857 0.5203514
1 1.3324830 0.7571011
>
> prediksib1 <- predict(bayes1,testing)
> prediksib1
[1] 0 0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 1
1 0 0 1 0 0 0 1 1 1
[45] 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0
0 1 0 0 0 1 0 1 0 1
[89] 1 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0
1 0 0 1 1 0 0 0 0 1
[133] 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0
0 0 0 0 0 0 1 0 0 1
[177] 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1
1 0 1 1 1 0 0 1 0 0
[221] 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0
0 0 1 0 1 0 1 1 1 0
[265] 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0
1 0 0 1 0 0 1 0 0 0
[309] 1 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0
1 1 1 1 0 0 0 0 1 0
[353] 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1
0 1 1 0 0 0 0 0 1 0
[397] 0 1 1 0 1 0
Levels: 0 1
>
> CMnb<-table(testing$TARGET, prediksib1)
> print(CMnb)
prediksib1
0 1
0 114 45
1 103 140
>
> akurasinb<-(sum(diag(CMnb)))/sum(CMnb)
> presisinb<-CMnb[1,1]/(CMnb[1,1]+CMnb[2,1])
> recallnb<-CMnb[1,1]/(CMnb[1,1]+CMnb[1,2])
> F1nb<-(2*presisinb*recallnb)/(presisinb+recallnb)
> tprnb<-recallnb
> tnrnb<-CMnb[2,2]/(CMnb[2,2]+CMnb[2,1])
>
> roc.predictionnb<-prediction(as.numeric(as.factor(prediksib1)), as.numer
ic(as.factor(testing$TARGET)))
> roc.tpr.fprnb<-performance(roc.predictionnb, "tpr","fpr")
> roc.aucnb<-performance(roc.predictionnb, "auc")
> plot(roc.tpr.fprnb, col="red", lty=3)
> abline(a=0, b=1)
> luasaucnb<-print(paste(roc.aucnb@y.values))
[1] "0.646556409659135"
>
> cat("AKURASI =",akurasinb,
+ "PRESISI =",presisinb,
+ "RECALL =",recallnb,
+ "F1 =",F1nb,
+ "TPR =", tprnb,
+ "TNR =", tnrnb,
+ "Luas AUC =",luasaucnb)
AKURASI = 0.6318408 PRESISI = 0.5253456 RECALL = 0.7169811 F1 = 0.606383 T
PR = 0.7169811 TNR = 0.5761317 Luas AUC = 0.646556409659135
4. NEURAL NETWORK
> #SVM=C5
> C5<-print("SVM")
[1] "SVM"
> svm_model <- svm(TARGET~MIN+PTS+FG.+FT.+REB+AST+STL+BLK+TOV, data=learni
ng)
> summary(svm_model)
Call:
svm(formula = TARGET ~ MIN + PTS + FG. + FT. + REB + AST + STL + BLK + TOV
,
data = learning)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.1111111
( 312 368 )
Number of Classes: 2
Levels:
0 1
>
> prediksisvm <- predict(svm_model,testing) # predict
> CMSVM<-table(testing$TARGET, prediksisvm)
> print(CMSVM)
prediksisvm
0 1
0 60 99
1 29 214
> roc.prediction5<-prediction(as.numeric(as.factor(prediksisvm)), as.numer
ic(as.factor(testing$TARGET)))
> roc.tpr.fpr5<-performance(roc.prediction5, "tpr","fpr")
> roc.auc5<-performance(roc.prediction5, "auc")
> plot(roc.tpr.fpr5, col="red", lty=3)
> abline(a=0, b=1)
> luasauc5<-print(paste(roc.auc5@y.values))
[1] "0.629008463390015"
>
> akurasi5 <- (sum(diag(CMSVM)))/sum(CMSVM)
> presisi5 <- CMSVM[1,1]/(CMSVM[1,1]+CMSVM[2,1])
> recall5 <- CMSVM[1,1]/(CMSVM[1,1]+CMSVM[1,2])
> F15 <- (2*presisi5*recall5)/(presisi5+recall5)
> tpr5<-recall5
> tnr5<-CMSVM[2,2]/(CMSVM[2,2]+CMSVM[2,1])
>
> cat("AKURASI =",akurasi5,
+ "PRESISI =",presisi5,
+ "RECALL =",recall5,
+ "F1 =",F15,
+ "TPR =", tpr5,
+ "TNR =", tnr5,
+ "Luas AUC =",luasauc5)
AKURASI = 0.681592 PRESISI = 0.6741573 RECALL = 0.3773585 F1 = 0.483871 TP
R = 0.3773585 TNR = 0.8806584 Luas AUC = 0.629008463390015
6. KNN
> #KNN
> c6<-print("kNN")
[1] "kNN"
> modelknn <- train(TARGET~MIN+PTS+FG.+FT.+REB+AST+STL+BLK+TOV, data=learn
ing, method="knn")
> summary(modelknn)
Length Class Mode
learn 2 -none- list
k 1 -none- numeric
theDots 0 -none- list
xNames 9 -none- character
problemType 1 -none- character
tuneValue 1 data.frame list
obsLevels 2 -none- character
param 0 -none- list
> modelknn<-train(x=learning[,-1], y=learning[,1], method = "knn")
> modelknn
k-Nearest Neighbors
938 samples
9 predictor
2 classes: '0', '1'
No pre-processing
Resampling: Bootstrapped (25 reps)
Summary of sample sizes: 938, 938, 938, 938, 938, 938, ...
Resampling results across tuning parameters:
k Accuracy Kappa
5 0.6376204 0.2184198
7 0.6466751 0.2333960
9 0.6442037 0.2232223
Accuracy was used to select the optimal model using the largest value.
The final value used for the model was k = 7.
>
> prediksiknn<- predict(modelknn,testing) # predict
> CMknn<-table(testing$TARGET, prediksiknn)
> print(CMknn)
prediksiknn
0 1
0 70 89
1 58 185
>
> akurasiknn <- (sum(diag(CMknn)))/sum(CMknn)
> presisiknn <- CMknn[1,1]/(CMknn[1,1]+CMknn[2,1])
> recallknn <- CMknn[1,1]/(CMknn[1,1]+CMknn[1,2])
> F1knn <- (2*presisiknn*recallknn)/(presisiknn+recallknn)
> tprknn<-recallknn
> tnrknn<-CMknn[2,2]/(CMknn[2,2]+CMknn[2,1])
>
> roc.predictionknn<-prediction(as.numeric(as.factor(prediksiknn)), as.num
eric(as.factor(testing$TARGET)))
> roc.tpr.fprknn<-performance(roc.predictionknn, "tpr","fpr")
> roc.aucknn<-performance(roc.predictionknn, "auc")
> plot(roc.tpr.fprknn, col="red", lty=3)
> abline(a=0, b=1)
> luasaucknn<-print(paste(roc.aucknn@y.values))
[1] "0.600784222377514"
>
> cat("AKURASI =",akurasiknn,
+ "PRESISI =",presisiknn,
+ "RECALL =",recallknn,
+ "F1 =",F1knn,
+ "TPR =", tprknn,
+ "TNR =", tnrknn,
+ "Luas AUC =",luasaucknn)
AKURASI = 0.6343284 PRESISI = 0.546875 RECALL = 0.4402516 F1 = 0.4878049 T
PR = 0.4402516 TNR = 0.7613169 Luas AUC = 0.600784222377514
###MENCARI METODE YANG TERBAIK