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