The following table lists the results from Table 2.
library(reactable)
library(readr)
# load data
accu <- read_csv("C:/Users/djd955/Downloads/yifan.csv")
## New names:
## * `` -> ...2
## * `` -> ...3
## * `` -> ...4
## * `` -> ...5
## * `` -> ...6
## * ...
## Rows: 28 Columns: 10
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (1): Datasets
## dbl (9): ...2, ...3, ...4, ...5, ...6, ...7, ...8, ...9, ...10
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
# save as dataframe
options(digits=2)
accu_df <- data.frame(accu)
names(accu_df)
## [1] "Datasets" "...2" "...3" "...4" "...5" "...6"
## [7] "...7" "...8" "...9" "...10"
# change column names
colnames(accu_df)[2:10] <- c("Number-of-incidents","FCN-w-o","FCN-w","MLSTM-w-o","MLSTM-w","MLSTM-FCN-w-o","MLSTM-FCN-w","TAPNET-w-o","TAPNET-w")
# formating
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
accu_df %>%
mutate_if(is.numeric, round, digits = 3)
## Datasets Number-of-incidents FCN-w-o FCN-w MLSTM-w-o MLSTM-w
## 1 ArtWordRec 575 0.980 0.982 0.82 0.86
## 2 BasicMotions 80 0.968 0.966 0.84 0.85
## 3 CharTraj 2858 0.990 0.990 0.97 0.98
## 4 Cricket 180 0.910 0.910 0.70 0.71
## 5 DuckDuckGeese 100 0.740 0.766 0.67 0.69
## 6 EigenWorms 259 0.544 0.552 0.46 0.46
## 7 Epilepsy 275 0.794 0.842 0.67 0.69
## 8 EthanolConcentration 1751 0.624 0.658 0.34 0.35
## 9 FaceDetection 9414 0.562 0.562 0.58 0.58
## 10 FingerMovements 416 0.648 0.656 0.61 0.61
## 11 HandMovement 234 0.468 0.488 0.37 0.41
## 12 Handwriting 1000 0.284 0.288 0.21 0.22
## 13 Heartbeat 409 0.812 0.818 0.82 0.82
## 14 InsectWingbeat 50000 0.108 0.138 0.12 0.12
## 15 JapaneseVowels 640 0.882 0.890 0.94 0.95
## 16 LSST 4925 0.444 0.456 0.53 0.53
## 17 Libras 360 0.902 0.906 0.55 0.71
## 18 MotorImagery 378 0.640 0.648 0.61 0.62
## 19 NATOPS 360 0.886 0.898 0.79 0.82
## 20 PEMS-SF 440 0.930 0.946 0.58 0.70
## 21 PenDigits 10992 0.984 0.982 0.98 0.98
## 22 Phoneme 6668 0.088 0.092 0.10 0.11
## 23 RacketSports 303 0.748 0.774 0.78 0.79
## 24 SelfRegulationSCP1 561 0.872 0.874 0.90 0.90
## 25 SelfRegSCP2 380 0.568 0.586 0.57 0.60
## 26 SelfRegSCP2 8798 0.974 0.982 0.96 0.96
## 27 StandWalkJump 27 0.400 0.400 0.69 0.65
## 28 UWaveGestureLibrary 440 0.624 0.618 0.81 0.82
## MLSTM-FCN-w-o MLSTM-FCN-w TAPNET-w-o TAPNET-w
## 1 0.972 0.98 0.98 0.99
## 2 0.966 0.97 1.00 0.99
## 3 0.992 1.00 0.99 0.99
## 4 0.878 0.90 0.95 0.93
## 5 0.722 0.73 0.72 0.68
## 6 0.526 0.57 0.60 0.58
## 7 0.864 0.87 0.87 0.82
## 8 0.622 0.65 0.32 0.36
## 9 0.556 0.56 0.56 0.57
## 10 0.642 0.64 0.61 0.64
## 11 0.466 0.49 0.46 0.52
## 12 0.282 0.30 0.20 0.28
## 13 0.810 0.82 0.75 0.73
## 14 0.116 0.14 NA NA
## 15 0.932 0.93 0.99 0.64
## 16 0.530 0.56 0.45 0.82
## 17 0.906 0.90 0.79 0.61
## 18 0.638 0.64 0.64 0.89
## 19 0.882 0.90 0.89 0.91
## 20 0.928 0.94 0.91 0.94
## 21 0.980 0.98 0.94 0.22
## 22 0.096 0.11 0.16 0.82
## 23 0.770 0.80 0.70 0.64
## 24 0.884 0.89 0.74 0.59
## 25 0.592 0.59 0.58 0.58
## 26 0.982 0.99 0.98 0.59
## 27 0.428 0.41 0.51 0.87
## 28 0.768 0.77 0.88 0.86
reactable(accu_df)
fcn_accu <- data.frame(dataset = accu_df$Datasets)
fcn_accu$fcn_wo <- accu_df$`FCN-w-o`
fcn_accu$fcn_w <- accu_df$`FCN-w`
fcn_accu$fcn_n1 <- accu_df$`FCN-w-o`*accu_df$`Number-of-incidents`
fcn_accu$fcn_n2 <- accu_df$`FCN-w`*accu_df$`Number-of-incidents`
fcn_accu$p_val <- rep(1,28)
for (i in 1:28){
n1 <- fcn_accu$fcn_n1[i]
n2 <- fcn_accu$fcn_n2[i]
n <- accu_df$`Number-of-incidents`[i]
fcn_accu$p_val[i] <- round(as.numeric(prop.test(c(n1,n2),c(n,n))$p.value),3)
}
## Warning in prop.test(c(n1, n2), c(n, n)): Chi-squared approximation may be
## incorrect
MLSTM_accu <- data.frame(dataset = accu_df$Datasets)
MLSTM_accu$MLSTM_wo <- accu_df$`MLSTM-w-o`
MLSTM_accu$MLSTM_w <- accu_df$`MLSTM-w`
MLSTM_accu$MLSTM_n1 <- accu_df$`MLSTM-w-o`*accu_df$`Number-of-incidents`
MLSTM_accu$MLSTM_n2 <- accu_df$`MLSTM-w`*accu_df$`Number-of-incidents`
MLSTM_accu$p_val <- rep(1,28)
for (i in 1:28){
n1 <- MLSTM_accu$MLSTM_n1[i]
n2 <- MLSTM_accu$MLSTM_n2[i]
n <- accu_df$`Number-of-incidents`[i]
MLSTM_accu$p_val[i] <- round(as.numeric(prop.test(c(n1,n2),c(n,n))$p.value),3)
}
MLSTMFCN_accu <- data.frame(dataset = accu_df$Datasets)
MLSTMFCN_accu$MLSTMFCN_wo <- accu_df$`MLSTM-FCN-w-o`
MLSTMFCN_accu$MLSTM_w <- accu_df$`MLSTM-FCN-w`
MLSTMFCN_accu$MLSTM_n1 <- accu_df$`MLSTM-FCN-w-o`*accu_df$`Number-of-incidents`
MLSTMFCN_accu$MLSTM_n2 <- accu_df$`MLSTM-FCN-w`*accu_df$`Number-of-incidents`
MLSTMFCN_accu$p_val <- rep(1,28)
for (i in 1:28){
n1 <- MLSTMFCN_accu$MLSTM_n1[i]
n2 <- MLSTMFCN_accu$MLSTM_n2[i]
n <- accu_df$`Number-of-incidents`[i]
MLSTMFCN_accu$p_val[i] <- round(as.numeric(prop.test(c(n1,n2),c(n,n))$p.value),3)
}
## Warning in prop.test(c(n1, n2), c(n, n)): Chi-squared approximation may be
## incorrect
TAPNET_accu <- data.frame(dataset = accu_df$Datasets)
TAPNET_accu$TAPNET_wo <- accu_df$`TAPNET-w-o`
TAPNET_accu$TAPNET_w <- accu_df$`TAPNET-w`
TAPNET_accu$TAPNET_n1 <- accu_df$`TAPNET-w-o`*accu_df$`Number-of-incidents`
TAPNET_accu$TAPNET_n2 <- accu_df$`TAPNET-w`*accu_df$`Number-of-incidents`
TAPNET_accu$p_val <- rep(1,28)
for (i in 1:13){
n1 <- TAPNET_accu$TAPNET_n1[i]
n2 <- TAPNET_accu$TAPNET_n2[i]
n <- accu_df$`Number-of-incidents`[i]
TAPNET_accu$p_val[i] <- round(as.numeric(prop.test(c(n1,n2),c(n,n))$p.value),3)
}
## Warning in prop.test(c(n1, n2), c(n, n)): Chi-squared approximation may be
## incorrect
for (i in 15:28){
n1 <- TAPNET_accu$TAPNET_n1[i]
n2 <- TAPNET_accu$TAPNET_n2[i]
n <- accu_df$`Number-of-incidents`[i]
TAPNET_accu$p_val[i] <- round(as.numeric(prop.test(c(n1,n2),c(n,n))$p.value),3)
}
rm(accu_summary)
## Warning in rm(accu_summary): object 'accu_summary' not found
accu_summary <- cbind(dataset = accu_df$Datasets, FCN =as.numeric(fcn_accu$p_val),MLSTM = as.numeric(MLSTM_accu$p_val), MLSTMFCN=as.numeric(MLSTMFCN_accu$p_val), TAPNET = as.numeric(TAPNET_accu$p_val))
library("knitr")
kable(accu_summary,caption = "Accuracy comparison",align = "c", col.names = c("datasets", "FCN", "MLSTM","MLSTMFCN","TAPNET"))
| datasets | FCN | MLSTM | MLSTMFCN | TAPNET |
|---|---|---|---|---|
| ArtWordRec | 0.974 | 0.08 | 0.35 | 0.398 |
| BasicMotions | 1 | 1 | 1 | 1 |
| CharTraj | 1 | 0.154 | 0.074 | 1 |
| Cricket | 1 | 1 | 0.709 | 0.616 |
| DuckDuckGeese | 0.793 | 0.855 | 0.975 | 0.558 |
| EigenWorms | 0.925 | 1 | 0.313 | 0.709 |
| Epilepsy | 0.178 | 0.682 | 0.825 | 0.15 |
| EthanolConcentration | 0.039 | 0.831 | 0.053 | 0.01 |
| FaceDetection | 1 | 0.588 | 0.415 | 0.275 |
| FingerMovements | 0.865 | 1 | 1 | 0.559 |
| HandMovement | 0.733 | 0.379 | 0.638 | 0.263 |
| Handwriting | 0.882 | 0.415 | 0.521 | 0 |
| Heartbeat | 0.896 | 1 | 0.896 | 0.659 |
| InsectWingbeat | 0 | 1 | 0 | 1 |
| JapaneseVowels | 0.717 | 0.329 | 0.975 | 0 |
| LSST | 0.239 | 0.858 | 0.006 | 0 |
| Libras | 0.956 | 0 | 0.956 | 0 |
| MotorImagery | 0.878 | 0.706 | 1 | 0 |
| NATOPS | 0.69 | 0.392 | 0.571 | 0.388 |
| PEMS-SF | 0.399 | 0 | 0.405 | 0.145 |
| PenDigits | 0.274 | 1 | 1 | 0 |
| Phoneme | 0.437 | 0.266 | 0.001 | 0 |
| RacketSports | 0.512 | 0.795 | 0.356 | 0.09 |
| SelfRegulationSCP1 | 0.991 | 0.813 | 0.907 | 0 |
| SelfRegSCP2 | 0.668 | 0.55 | 1 | 1 |
| SelfRegSCP2 | 0 | 1 | 0.04 | 0 |
| StandWalkJump | 1 | 0.981 | 1 | 0.009 |
| UWaveGestureLibrary | 0.909 | 0.886 | 1 | 0.338 |
reactable(accu_summary, sortable = TRUE,
showSortable = TRUE,)
At significance level 0.05, there are