library(readxl)
cmcData <- read_excel(path = "datakanker.xlsx")
diagnosis <- as.numeric(cmcData$diagnosis == "M")
cmcData$diagnosis <- diagnosis
cmcData
## # A tibble: 569 × 32
##          id diagnosis radius_m…¹ textu…² perim…³ area_…⁴ smoot…⁵ compa…⁶ conca…⁷
##       <dbl>     <dbl>      <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1   842302         1       18.0    10.4   123.    1001   0.118   0.278   0.300 
##  2   842517         1       20.6    17.8   133.    1326   0.0847  0.0786  0.0869
##  3 84300903         1       19.7    21.2   130     1203   0.110   0.160   0.197 
##  4 84348301         1       11.4    20.4    77.6    386.  0.142   0.284   0.241 
##  5 84358402         1       20.3    14.3   135.    1297   0.100   0.133   0.198 
##  6   843786         1       12.4    15.7    82.6    477.  0.128   0.17    0.158 
##  7   844359         1       18.2    20.0   120.    1040   0.0946  0.109   0.113 
##  8 84458202         1       13.7    20.8    90.2    578.  0.119   0.164   0.0937
##  9   844981         1       13      21.8    87.5    520.  0.127   0.193   0.186 
## 10 84501001         1       12.5    24.0    84.0    476.  0.119   0.240   0.227 
## # … with 559 more rows, 23 more variables: concave_points_mean <dbl>,
## #   symmetry_mean <dbl>, fractal_dimension_mean <dbl>, radius_se <dbl>,
## #   texture_se <dbl>, perimeter_se <dbl>, area_se <dbl>, smoothness_se <dbl>,
## #   compactness_se <dbl>, concavity_se <dbl>, `concave points_se` <dbl>,
## #   symmetry_se <dbl>, fractal_dimension_se <dbl>, radius_worst <dbl>,
## #   texture_worst <dbl>, perimeter_worst <dbl>, area_worst <dbl>,
## #   smoothness_worst <dbl>, compactness_worst <dbl>, concavity_worst <dbl>, …
#data training diambil dari data index ke-200 sampai ke-250 dengan kolom ke-5 sampai ke-10
training <- cmcData[200:250,5:10]
#untuk testing kolom yang dipakai adalah kolom ke-5 sampai ke-9
testing <- cmcData[251:nrow(cmcData),5:9]
#untuk validasi kolom yang dipakai adalah kolom ke-10
validasi <- cmcData[251:nrow(cmcData),10]
#data_research yang digunakan adalah kolom 5(perimeter_mean) dan 10(concave_points_mean)
data_research <- cmcData[251:nrow(cmcData),c(5,10)]
training 
## # A tibble: 51 × 6
##    perimeter_mean area_mean smoothness_mean compactness_mean concavity…¹ conca…²
##             <dbl>     <dbl>           <dbl>            <dbl>       <dbl>   <dbl>
##  1           94.5      643.          0.0987           0.121       0.118   0.0598
##  2           78.5      461           0.0959           0.0809      0.0419  0.0411
##  3          115.       952.          0.0897           0.120       0.104   0.0749
##  4          159.      1685           0.114            0.208       0.352   0.162 
##  5           91.6      598.          0.132            0.177       0.156   0.0918
##  6           81.1      482.          0.0996           0.106       0.0800  0.0382
##  7           98.8      717.          0.0888           0.0959      0.0755  0.0408
##  8           62.9      295.          0.109            0.0723      0.0176  0.0195
##  9          110.       904.          0.0877           0.0730      0.0695  0.0539
## 10           87.0      529.          0.100            0.148       0.0870  0.0510
## # … with 41 more rows, and abbreviated variable names ¹​concavity_mean,
## #   ²​concave_points_mean
testing
## # A tibble: 319 × 5
##    perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean
##             <dbl>     <dbl>           <dbl>            <dbl>          <dbl>
##  1          139.      1364           0.101            0.161          0.271 
##  2           73.3      407.          0.0934           0.0599         0.0264
##  3          131.      1206           0.106            0.185          0.242 
##  4          113        928.          0.101            0.104          0.127 
##  5          126.      1169           0.104            0.119          0.138 
##  6           91.4      602.          0.110            0.128          0.0979
##  7          134.      1207           0.0926           0.206          0.178 
##  8          103.       713.          0.134            0.228          0.245 
##  9          110.       774.          0.111            0.311          0.318 
## 10          104.       745.          0.106            0.164          0.175 
## # … with 309 more rows
validasi
## # A tibble: 319 × 1
##    concave_points_mean
##                  <dbl>
##  1              0.131 
##  2              0.0207
##  3              0.0974
##  4              0.0835
##  5              0.0859
##  6              0.0525
##  7              0.114 
##  8              0.124 
##  9              0.138 
## 10              0.0840
## # … with 309 more rows
data_research
## # A tibble: 319 × 2
##    perimeter_mean concave_points_mean
##             <dbl>               <dbl>
##  1          139.               0.131 
##  2           73.3              0.0207
##  3          131.               0.0974
##  4          113                0.0835
##  5          126.               0.0859
##  6           91.4              0.0525
##  7          134.               0.114 
##  8          103.               0.124 
##  9          110.               0.138 
## 10          104.               0.0840
## # … with 309 more rows
## Define interval of data
range.data <-apply(training, 2, range)
range.data
##      perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean
## [1,]          60.21     279.6         0.06883          0.03393       0.004967
## [2,]         188.50    2499.0         0.13230          0.20840       0.352300
##      concave_points_mean
## [1,]            0.003125
## [2,]            0.162000
## Set the method and its parameters,
## for example, we use Wang and Mendel's algorithm
method.type <- "WM"
control <- list(num.labels = 15, type.mf = "GAUSSIAN", type.defuz = "WAM",
type.tnorm = "MIN", type.snorm = "MAX", type.implication.func = "ZADEH",
name = "sim-0")
library(frbs)
## Learning step: Generate an FRBS model
object.reg <- frbs.learn(training, range.data, method.type, control)
## Predicting step: Predict for newdata
res.test <- predict(object.reg, testing)
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## Display the FRBS model
summary(object.reg)
## The name of model:  sim-0 
## Model was trained using:  WM 
## The names of attributes:  perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean concave_points_mean 
## The interval of training data:  
##     perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean
## min          60.21     279.6         0.06883          0.03393       0.004967
## max         188.50    2499.0         0.13230          0.20840       0.352300
##     concave_points_mean
## min            0.003125
## max            0.162000
## Type of FRBS model: 
## [1] "MAMDANI"
## Type of membership functions: 
## [1] "GAUSSIAN"
## Type of t-norm method: 
## [1] "Standard t-norm (min)"
## Type of s-norm method: 
## [1] "Standard s-norm"
## Type of defuzzification technique: 
## [1] "Weighted average method"
## Type of implication function: 
## [1] "ZADEH"
## The names of linguistic terms on the input variables:  
##  [1] "v.1_a.1"  "v.1_a.2"  "v.1_a.3"  "v.1_a.4"  "v.1_a.5"  "v.1_a.6" 
##  [7] "v.1_a.7"  "v.1_a.8"  "v.1_a.9"  "v.1_a.10" "v.1_a.11" "v.1_a.12"
## [13] "v.1_a.13" "v.1_a.14" "v.1_a.15" "v.2_a.1"  "v.2_a.2"  "v.2_a.3" 
## [19] "v.2_a.4"  "v.2_a.5"  "v.2_a.6"  "v.2_a.7"  "v.2_a.8"  "v.2_a.9" 
## [25] "v.2_a.10" "v.2_a.11" "v.2_a.12" "v.2_a.13" "v.2_a.14" "v.2_a.15"
## [31] "v.3_a.1"  "v.3_a.2"  "v.3_a.3"  "v.3_a.4"  "v.3_a.5"  "v.3_a.6" 
## [37] "v.3_a.7"  "v.3_a.8"  "v.3_a.9"  "v.3_a.10" "v.3_a.11" "v.3_a.12"
## [43] "v.3_a.13" "v.3_a.14" "v.3_a.15" "v.4_a.1"  "v.4_a.2"  "v.4_a.3" 
## [49] "v.4_a.4"  "v.4_a.5"  "v.4_a.6"  "v.4_a.7"  "v.4_a.8"  "v.4_a.9" 
## [55] "v.4_a.10" "v.4_a.11" "v.4_a.12" "v.4_a.13" "v.4_a.14" "v.4_a.15"
## [61] "v.5_a.1"  "v.5_a.2"  "v.5_a.3"  "v.5_a.4"  "v.5_a.5"  "v.5_a.6" 
## [67] "v.5_a.7"  "v.5_a.8"  "v.5_a.9"  "v.5_a.10" "v.5_a.11" "v.5_a.12"
## [73] "v.5_a.13" "v.5_a.14" "v.5_a.15"
## The parameter values of membership function on the input variable (normalized):  
##      v.1_a.1    v.1_a.2   v.1_a.3   v.1_a.4   v.1_a.5   v.1_a.6   v.1_a.7
## [1,]   5.000 5.00000000 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000
## [2,]   0.000 0.07142857 0.1428571 0.2142857 0.2857143 0.3571429 0.4285714
## [3,]   0.025 0.02500000 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000
## [4,]      NA         NA        NA        NA        NA        NA        NA
## [5,]      NA         NA        NA        NA        NA        NA        NA
##      v.1_a.8   v.1_a.9  v.1_a.10  v.1_a.11  v.1_a.12  v.1_a.13  v.1_a.14
## [1,]   5.000 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000
## [2,]   0.500 0.5714286 0.6428571 0.7142857 0.7857143 0.8571429 0.9285714
## [3,]   0.025 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000
## [4,]      NA        NA        NA        NA        NA        NA        NA
## [5,]      NA        NA        NA        NA        NA        NA        NA
##      v.1_a.15 v.2_a.1    v.2_a.2   v.2_a.3   v.2_a.4   v.2_a.5   v.2_a.6
## [1,]    5.000   5.000 5.00000000 5.0000000 5.0000000 5.0000000 5.0000000
## [2,]    1.000   0.000 0.07142857 0.1428571 0.2142857 0.2857143 0.3571429
## [3,]    0.025   0.025 0.02500000 0.0250000 0.0250000 0.0250000 0.0250000
## [4,]       NA      NA         NA        NA        NA        NA        NA
## [5,]       NA      NA         NA        NA        NA        NA        NA
##        v.2_a.7 v.2_a.8   v.2_a.9  v.2_a.10  v.2_a.11  v.2_a.12  v.2_a.13
## [1,] 5.0000000   5.000 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000
## [2,] 0.4285714   0.500 0.5714286 0.6428571 0.7142857 0.7857143 0.8571429
## [3,] 0.0250000   0.025 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000
## [4,]        NA      NA        NA        NA        NA        NA        NA
## [5,]        NA      NA        NA        NA        NA        NA        NA
##       v.2_a.14 v.2_a.15 v.3_a.1    v.3_a.2   v.3_a.3   v.3_a.4   v.3_a.5
## [1,] 5.0000000    5.000   5.000 5.00000000 5.0000000 5.0000000 5.0000000
## [2,] 0.9285714    1.000   0.000 0.07142857 0.1428571 0.2142857 0.2857143
## [3,] 0.0250000    0.025   0.025 0.02500000 0.0250000 0.0250000 0.0250000
## [4,]        NA       NA      NA         NA        NA        NA        NA
## [5,]        NA       NA      NA         NA        NA        NA        NA
##        v.3_a.6   v.3_a.7 v.3_a.8   v.3_a.9  v.3_a.10  v.3_a.11  v.3_a.12
## [1,] 5.0000000 5.0000000   5.000 5.0000000 5.0000000 5.0000000 5.0000000
## [2,] 0.3571429 0.4285714   0.500 0.5714286 0.6428571 0.7142857 0.7857143
## [3,] 0.0250000 0.0250000   0.025 0.0250000 0.0250000 0.0250000 0.0250000
## [4,]        NA        NA      NA        NA        NA        NA        NA
## [5,]        NA        NA      NA        NA        NA        NA        NA
##       v.3_a.13  v.3_a.14 v.3_a.15 v.4_a.1    v.4_a.2   v.4_a.3   v.4_a.4
## [1,] 5.0000000 5.0000000    5.000   5.000 5.00000000 5.0000000 5.0000000
## [2,] 0.8571429 0.9285714    1.000   0.000 0.07142857 0.1428571 0.2142857
## [3,] 0.0250000 0.0250000    0.025   0.025 0.02500000 0.0250000 0.0250000
## [4,]        NA        NA       NA      NA         NA        NA        NA
## [5,]        NA        NA       NA      NA         NA        NA        NA
##        v.4_a.5   v.4_a.6   v.4_a.7 v.4_a.8   v.4_a.9  v.4_a.10  v.4_a.11
## [1,] 5.0000000 5.0000000 5.0000000   5.000 5.0000000 5.0000000 5.0000000
## [2,] 0.2857143 0.3571429 0.4285714   0.500 0.5714286 0.6428571 0.7142857
## [3,] 0.0250000 0.0250000 0.0250000   0.025 0.0250000 0.0250000 0.0250000
## [4,]        NA        NA        NA      NA        NA        NA        NA
## [5,]        NA        NA        NA      NA        NA        NA        NA
##       v.4_a.12  v.4_a.13  v.4_a.14 v.4_a.15 v.5_a.1    v.5_a.2   v.5_a.3
## [1,] 5.0000000 5.0000000 5.0000000    5.000   5.000 5.00000000 5.0000000
## [2,] 0.7857143 0.8571429 0.9285714    1.000   0.000 0.07142857 0.1428571
## [3,] 0.0250000 0.0250000 0.0250000    0.025   0.025 0.02500000 0.0250000
## [4,]        NA        NA        NA       NA      NA         NA        NA
## [5,]        NA        NA        NA       NA      NA         NA        NA
##        v.5_a.4   v.5_a.5   v.5_a.6   v.5_a.7 v.5_a.8   v.5_a.9  v.5_a.10
## [1,] 5.0000000 5.0000000 5.0000000 5.0000000   5.000 5.0000000 5.0000000
## [2,] 0.2142857 0.2857143 0.3571429 0.4285714   0.500 0.5714286 0.6428571
## [3,] 0.0250000 0.0250000 0.0250000 0.0250000   0.025 0.0250000 0.0250000
## [4,]        NA        NA        NA        NA      NA        NA        NA
## [5,]        NA        NA        NA        NA      NA        NA        NA
##       v.5_a.11  v.5_a.12  v.5_a.13  v.5_a.14 v.5_a.15
## [1,] 5.0000000 5.0000000 5.0000000 5.0000000    5.000
## [2,] 0.7142857 0.7857143 0.8571429 0.9285714    1.000
## [3,] 0.0250000 0.0250000 0.0250000 0.0250000    0.025
## [4,]        NA        NA        NA        NA       NA
## [5,]        NA        NA        NA        NA       NA
## The names of linguistic terms on the output variable:  
##  [1] "c.1"  "c.2"  "c.3"  "c.4"  "c.5"  "c.6"  "c.7"  "c.8"  "c.9"  "c.10"
## [11] "c.11" "c.12" "c.13" "c.14" "c.15"
## The parameter values of membership function on the output variable (normalized):  
##        c.1        c.2       c.3       c.4       c.5       c.6       c.7   c.8
## [1,] 5.000 5.00000000 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000 5.000
## [2,] 0.000 0.07142857 0.1428571 0.2142857 0.2857143 0.3571429 0.4285714 0.500
## [3,] 0.025 0.02500000 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000 0.025
## [4,]    NA         NA        NA        NA        NA        NA        NA    NA
## [5,]    NA         NA        NA        NA        NA        NA        NA    NA
##            c.9      c.10      c.11      c.12      c.13      c.14  c.15
## [1,] 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000 5.0000000 5.000
## [2,] 0.5714286 0.6428571 0.7142857 0.7857143 0.8571429 0.9285714 1.000
## [3,] 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000 0.0250000 0.025
## [4,]        NA        NA        NA        NA        NA        NA    NA
## [5,]        NA        NA        NA        NA        NA        NA    NA
## The number of linguistic terms on each variables 
##      perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean
## [1,]             15        15              15               15             15
##      concave_points_mean
## [1,]                  15
## The fuzzy IF-THEN rules:  
##    V1             V2 V3       V4  V5        V6 V7       V8  V9             V10
## 1  IF perimeter_mean is v.1_a.12 and area_mean is v.2_a.10 and smoothness_mean
## 2  IF perimeter_mean is  v.1_a.3 and area_mean is  v.2_a.2 and smoothness_mean
## 3  IF perimeter_mean is  v.1_a.3 and area_mean is  v.2_a.2 and smoothness_mean
## 4  IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.2 and smoothness_mean
## 5  IF perimeter_mean is  v.1_a.3 and area_mean is  v.2_a.2 and smoothness_mean
## 6  IF perimeter_mean is  v.1_a.7 and area_mean is  v.2_a.5 and smoothness_mean
## 7  IF perimeter_mean is  v.1_a.3 and area_mean is  v.2_a.2 and smoothness_mean
## 8  IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 9  IF perimeter_mean is  v.1_a.6 and area_mean is  v.2_a.5 and smoothness_mean
## 10 IF perimeter_mean is  v.1_a.7 and area_mean is  v.2_a.5 and smoothness_mean
## 11 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 12 IF perimeter_mean is v.1_a.11 and area_mean is v.2_a.10 and smoothness_mean
## 13 IF perimeter_mean is  v.1_a.9 and area_mean is  v.2_a.7 and smoothness_mean
## 14 IF perimeter_mean is  v.1_a.1 and area_mean is  v.2_a.1 and smoothness_mean
## 15 IF perimeter_mean is  v.1_a.3 and area_mean is  v.2_a.2 and smoothness_mean
## 16 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.1 and smoothness_mean
## 17 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 18 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.4 and smoothness_mean
## 19 IF perimeter_mean is  v.1_a.8 and area_mean is  v.2_a.7 and smoothness_mean
## 20 IF perimeter_mean is  v.1_a.7 and area_mean is  v.2_a.5 and smoothness_mean
## 21 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 22 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.3 and smoothness_mean
## 23 IF perimeter_mean is  v.1_a.6 and area_mean is  v.2_a.4 and smoothness_mean
## 24 IF perimeter_mean is  v.1_a.9 and area_mean is  v.2_a.7 and smoothness_mean
## 25 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.2 and smoothness_mean
## 26 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.1 and smoothness_mean
## 27 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.3 and smoothness_mean
## 28 IF perimeter_mean is  v.1_a.9 and area_mean is  v.2_a.7 and smoothness_mean
## 29 IF perimeter_mean is  v.1_a.3 and area_mean is  v.2_a.2 and smoothness_mean
## 30 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 31 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.4 and smoothness_mean
## 32 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.1 and smoothness_mean
## 33 IF perimeter_mean is  v.1_a.7 and area_mean is  v.2_a.5 and smoothness_mean
## 34 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.2 and smoothness_mean
## 35 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 36 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.2 and smoothness_mean
## 37 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.2 and smoothness_mean
## 38 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 39 IF perimeter_mean is v.1_a.15 and area_mean is v.2_a.15 and smoothness_mean
## 40 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.3 and smoothness_mean
## 41 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 42 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.1 and smoothness_mean
## 43 IF perimeter_mean is  v.1_a.1 and area_mean is  v.2_a.1 and smoothness_mean
## 44 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 45 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.1 and smoothness_mean
## 46 IF perimeter_mean is  v.1_a.4 and area_mean is  v.2_a.3 and smoothness_mean
## 47 IF perimeter_mean is  v.1_a.9 and area_mean is  v.2_a.8 and smoothness_mean
## 48 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.4 and smoothness_mean
## 49 IF perimeter_mean is  v.1_a.9 and area_mean is  v.2_a.7 and smoothness_mean
## 50 IF perimeter_mean is  v.1_a.5 and area_mean is  v.2_a.3 and smoothness_mean
## 51 IF perimeter_mean is  v.1_a.2 and area_mean is  v.2_a.2 and smoothness_mean
##    V11      V12 V13              V14 V15      V16 V17            V18 V19
## 1   is v.3_a.11 and compactness_mean  is v.4_a.15 and concavity_mean  is
## 2   is  v.3_a.8 and compactness_mean  is  v.4_a.7 and concavity_mean  is
## 3   is  v.3_a.3 and compactness_mean  is  v.4_a.1 and concavity_mean  is
## 4   is  v.3_a.3 and compactness_mean  is  v.4_a.1 and concavity_mean  is
## 5   is  v.3_a.6 and compactness_mean  is  v.4_a.8 and concavity_mean  is
## 6   is  v.3_a.7 and compactness_mean  is  v.4_a.9 and concavity_mean  is
## 7   is  v.3_a.3 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 8   is  v.3_a.9 and compactness_mean  is  v.4_a.8 and concavity_mean  is
## 9   is  v.3_a.5 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 10  is  v.3_a.8 and compactness_mean  is  v.4_a.7 and concavity_mean  is
## 11  is  v.3_a.7 and compactness_mean  is  v.4_a.5 and concavity_mean  is
## 12  is  v.3_a.7 and compactness_mean  is v.4_a.12 and concavity_mean  is
## 13  is  v.3_a.8 and compactness_mean  is v.4_a.11 and concavity_mean  is
## 14  is v.3_a.10 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 15  is  v.3_a.5 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 16  is  v.3_a.9 and compactness_mean  is  v.4_a.3 and concavity_mean  is
## 17  is  v.3_a.6 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 18  is  v.3_a.5 and compactness_mean  is  v.4_a.6 and concavity_mean  is
## 19  is  v.3_a.4 and compactness_mean  is  v.4_a.7 and concavity_mean  is
## 20  is  v.3_a.6 and compactness_mean  is  v.4_a.8 and concavity_mean  is
## 21  is  v.3_a.7 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 22  is  v.3_a.7 and compactness_mean  is  v.4_a.9 and concavity_mean  is
## 23  is  v.3_a.8 and compactness_mean  is  v.4_a.8 and concavity_mean  is
## 24  is  v.3_a.6 and compactness_mean  is  v.4_a.9 and concavity_mean  is
## 25  is v.3_a.10 and compactness_mean  is v.4_a.13 and concavity_mean  is
## 26  is  v.3_a.9 and compactness_mean  is  v.4_a.5 and concavity_mean  is
## 27  is  v.3_a.4 and compactness_mean  is  v.4_a.7 and concavity_mean  is
## 28  is  v.3_a.7 and compactness_mean  is  v.4_a.9 and concavity_mean  is
## 29  is  v.3_a.7 and compactness_mean  is  v.4_a.5 and concavity_mean  is
## 30  is  v.3_a.8 and compactness_mean  is v.4_a.10 and concavity_mean  is
## 31  is  v.3_a.4 and compactness_mean  is  v.4_a.3 and concavity_mean  is
## 32  is  v.3_a.4 and compactness_mean  is  v.4_a.3 and concavity_mean  is
## 33  is v.3_a.11 and compactness_mean  is v.4_a.11 and concavity_mean  is
## 34  is  v.3_a.8 and compactness_mean  is  v.4_a.5 and concavity_mean  is
## 35  is  v.3_a.2 and compactness_mean  is  v.4_a.2 and concavity_mean  is
## 36  is  v.3_a.7 and compactness_mean  is  v.4_a.9 and concavity_mean  is
## 37  is  v.3_a.5 and compactness_mean  is  v.4_a.9 and concavity_mean  is
## 38  is  v.3_a.8 and compactness_mean  is v.4_a.10 and concavity_mean  is
## 39  is v.3_a.11 and compactness_mean  is v.4_a.10 and concavity_mean  is
## 40  is  v.3_a.8 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 41  is  v.3_a.4 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 42  is  v.3_a.9 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 43  is  v.3_a.4 and compactness_mean  is  v.4_a.2 and concavity_mean  is
## 44  is v.3_a.15 and compactness_mean  is v.4_a.12 and concavity_mean  is
## 45  is  v.3_a.7 and compactness_mean  is  v.4_a.4 and concavity_mean  is
## 46  is  v.3_a.4 and compactness_mean  is  v.4_a.2 and concavity_mean  is
## 47  is  v.3_a.6 and compactness_mean  is  v.4_a.7 and concavity_mean  is
## 48  is  v.3_a.4 and compactness_mean  is  v.4_a.7 and concavity_mean  is
## 49  is  v.3_a.4 and compactness_mean  is  v.4_a.5 and concavity_mean  is
## 50  is  v.3_a.8 and compactness_mean  is  v.4_a.8 and concavity_mean  is
## 51  is  v.3_a.1 and compactness_mean  is  v.4_a.1 and concavity_mean  is
##         V20  V21                 V22 V23  V24
## 1  v.5_a.15 THEN concave_points_mean  is c.15
## 2   v.5_a.4 THEN concave_points_mean  is  c.4
## 3   v.5_a.1 THEN concave_points_mean  is  c.2
## 4   v.5_a.1 THEN concave_points_mean  is  c.1
## 5   v.5_a.3 THEN concave_points_mean  is  c.3
## 6   v.5_a.7 THEN concave_points_mean  is  c.8
## 7   v.5_a.3 THEN concave_points_mean  is  c.3
## 8   v.5_a.4 THEN concave_points_mean  is  c.5
## 9   v.5_a.4 THEN concave_points_mean  is  c.5
## 10  v.5_a.8 THEN concave_points_mean  is  c.7
## 11  v.5_a.2 THEN concave_points_mean  is  c.3
## 12  v.5_a.9 THEN concave_points_mean  is c.12
## 13  v.5_a.9 THEN concave_points_mean  is  c.9
## 14  v.5_a.2 THEN concave_points_mean  is  c.2
## 15  v.5_a.2 THEN concave_points_mean  is  c.2
## 16  v.5_a.3 THEN concave_points_mean  is  c.3
## 17  v.5_a.1 THEN concave_points_mean  is  c.2
## 18  v.5_a.4 THEN concave_points_mean  is  c.4
## 19  v.5_a.5 THEN concave_points_mean  is  c.7
## 20  v.5_a.5 THEN concave_points_mean  is  c.7
## 21  v.5_a.3 THEN concave_points_mean  is  c.4
## 22  v.5_a.5 THEN concave_points_mean  is  c.6
## 23  v.5_a.5 THEN concave_points_mean  is  c.6
## 24  v.5_a.7 THEN concave_points_mean  is  c.9
## 25  v.5_a.8 THEN concave_points_mean  is  c.7
## 26  v.5_a.2 THEN concave_points_mean  is  c.2
## 27  v.5_a.5 THEN concave_points_mean  is  c.5
## 28  v.5_a.6 THEN concave_points_mean  is  c.8
## 29  v.5_a.2 THEN concave_points_mean  is  c.4
## 30  v.5_a.5 THEN concave_points_mean  is  c.6
## 31  v.5_a.3 THEN concave_points_mean  is  c.4
## 32  v.5_a.3 THEN concave_points_mean  is  c.2
## 33  v.5_a.8 THEN concave_points_mean  is c.10
## 34  v.5_a.3 THEN concave_points_mean  is  c.3
## 35  v.5_a.3 THEN concave_points_mean  is  c.2
## 36  v.5_a.7 THEN concave_points_mean  is  c.3
## 37  v.5_a.6 THEN concave_points_mean  is  c.4
## 38  v.5_a.4 THEN concave_points_mean  is  c.5
## 39 v.5_a.14 THEN concave_points_mean  is c.15
## 40  v.5_a.3 THEN concave_points_mean  is  c.5
## 41  v.5_a.3 THEN concave_points_mean  is  c.3
## 42  v.5_a.1 THEN concave_points_mean  is  c.2
## 43  v.5_a.1 THEN concave_points_mean  is  c.2
## 44  v.5_a.7 THEN concave_points_mean  is  c.9
## 45  v.5_a.2 THEN concave_points_mean  is  c.2
## 46  v.5_a.2 THEN concave_points_mean  is  c.3
## 47  v.5_a.7 THEN concave_points_mean  is  c.8
## 48  v.5_a.3 THEN concave_points_mean  is  c.4
## 49  v.5_a.4 THEN concave_points_mean  is  c.6
## 50  v.5_a.6 THEN concave_points_mean  is  c.6
## 51  v.5_a.1 THEN concave_points_mean  is  c.1
## Plot the membership functions
plotMF(object.reg)

pred <- predict(object.reg, testing)
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
## [1] "note: Some of your new data are out of the previously specified range"
str(pred)
##  num [1:319, 1] 0.1117 0.0145 0.0939 0.0599 0.0764 ...
str(data_research)
## tibble [319 × 2] (S3: tbl_df/tbl/data.frame)
##  $ perimeter_mean     : num [1:319] 138.9 73.3 130.7 113 126.5 ...
##  $ concave_points_mean: num [1:319] 0.131 0.0207 0.0974 0.0835 0.0859 ...
data_research$predict <- pred
data_research
## # A tibble: 319 × 3
##    perimeter_mean concave_points_mean predict[,1]
##             <dbl>               <dbl>       <dbl>
##  1          139.               0.131       0.112 
##  2           73.3              0.0207      0.0145
##  3          131.               0.0974      0.0939
##  4          113                0.0835      0.0599
##  5          126.               0.0859      0.0764
##  6           91.4              0.0525      0.0485
##  7          134.               0.114       0.128 
##  8          103.               0.124       0.0939
##  9          110.               0.138       0.162 
## 10          104.               0.0840      0.104 
## # … with 309 more rows
data_research$residual <- (data_research$concave_points_mean - data_research$predict)
data_research
## # A tibble: 319 × 4
##    perimeter_mean concave_points_mean predict[,1] residual[,1]
##             <dbl>               <dbl>       <dbl>        <dbl>
##  1          139.               0.131       0.112       0.0193 
##  2           73.3              0.0207      0.0145      0.00619
##  3          131.               0.0974      0.0939      0.00349
##  4          113                0.0835      0.0599      0.0237 
##  5          126.               0.0859      0.0764      0.00948
##  6           91.4              0.0525      0.0485      0.00394
##  7          134.               0.114       0.128      -0.0136 
##  8          103.               0.124       0.0939      0.0303 
##  9          110.               0.138       0.162      -0.0243 
## 10          104.               0.0840      0.104      -0.0198 
## # … with 309 more rows
mean(data_research$predict != data_research$concave_points_mean)
## [1] 1
accuracy <- table(data_research$predict, data_research$concave_points_mean)
sum(diag(accuracy))/sum(accuracy)
## [1] 0.01253918