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-100 sampai ke-250 dengan kolom ke-1 sampai ke-5
training <- cmcData[100:250,1:5]
#untuk testing kolom yang dipakai adalah kolom ke-1 sampai ke-4
testing <- cmcData[251:nrow(cmcData),1:4]
#untuk validasi kolom yang dipakai adalah kolom ke-5
validasi <- cmcData[251:nrow(cmcData),5]
#data_research yang digunakan adalah kolom 1(id) dan 5(perimeter_mean)
data_research <- cmcData[251:nrow(cmcData),c(1,5)]
training
## # A tibble: 151 × 5
## id diagnosis radius_mean texture_mean perimeter_mean
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 862548 1 14.4 19.8 94.5
## 2 862717 1 13.6 25.0 88.0
## 3 862722 0 6.98 13.4 43.8
## 4 862965 0 12.2 20.5 77.2
## 5 862980 0 9.88 19.4 64.0
## 6 862989 0 10.5 19.3 67.4
## 7 863030 1 13.1 15.6 87.2
## 8 863031 0 11.6 18.3 75.2
## 9 863270 0 12.4 18.5 79.0
## 10 86355 1 22.3 19.7 153.
## # … with 141 more rows
testing
## # A tibble: 319 × 4
## id diagnosis radius_mean texture_mean
## <dbl> <dbl> <dbl> <dbl>
## 1 884948 1 20.9 23.6
## 2 88518501 0 11.5 18.4
## 3 885429 1 19.7 19.8
## 4 8860702 1 17.3 17.1
## 5 886226 1 19.4 19.3
## 6 886452 1 14.0 17.0
## 7 88649001 1 19.6 28.8
## 8 886776 1 15.3 17.3
## 9 887181 1 15.7 23.2
## 10 88725602 1 15.5 33.6
## # … with 309 more rows
validasi
## # A tibble: 319 × 1
## perimeter_mean
## <dbl>
## 1 139.
## 2 73.3
## 3 131.
## 4 113
## 5 126.
## 6 91.4
## 7 134.
## 8 103.
## 9 110.
## 10 104.
## # … with 309 more rows
data_research
## # A tibble: 319 × 2
## id perimeter_mean
## <dbl> <dbl>
## 1 884948 139.
## 2 88518501 73.3
## 3 885429 131.
## 4 8860702 113
## 5 886226 126.
## 6 886452 91.4
## 7 88649001 134.
## 8 886776 103.
## 9 887181 110.
## 10 88725602 104.
## # … with 309 more rows
## Define interval of data
range.data <-apply(training, 2, range)
range.data
## id diagnosis radius_mean texture_mean perimeter_mean
## [1,] 8670 0 6.981 9.71 43.79
## [2,] 881094802 1 28.110 39.28 188.50
## 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 = "COG",
type.tnorm = "MIN", type.snorm = "MAX", type.implication.func = "LUKASIEWICZ",
name = "fourhill")
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"
## Display the FRBS model
summary(object.reg)
## The name of model: fourhill
## Model was trained using: WM
## The names of attributes: id diagnosis radius_mean texture_mean perimeter_mean
## The interval of training data:
## id diagnosis radius_mean texture_mean perimeter_mean
## min 8670 0 6.981 9.71 43.79
## max 881094802 1 28.110 39.28 188.50
## 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] "modified COG"
## Type of implication function:
## [1] "LUKASIEWICZ"
## 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"
## 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
## [1,] 5.0000000 5.0000000 5.0000000 5.000
## [2,] 0.7857143 0.8571429 0.9285714 1.000
## [3,] 0.0250000 0.0250000 0.0250000 0.025
## [4,] NA NA NA NA
## [5,] 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
## id diagnosis radius_mean texture_mean perimeter_mean
## [1,] 15 15 15 15 15
## The fuzzy IF-THEN rules:
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
## 1 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6 and
## 2 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5 and
## 3 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.1 and
## 4 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 5 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 6 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5 and
## 7 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 8 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 9 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 10 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 11 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 12 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7 and
## 13 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 14 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 15 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 16 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.12 and
## 17 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 18 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 19 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 20 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 21 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 22 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7 and
## 23 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 24 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 25 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6 and
## 26 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 27 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 28 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 29 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 30 IF id is v.1_a.15 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 31 IF id is v.1_a.15 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2 and
## 32 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.8 and
## 33 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 34 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 35 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 36 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7 and
## 37 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 38 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 39 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 40 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5 and
## 41 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7 and
## 42 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2 and
## 43 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 44 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7 and
## 45 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 46 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.14 and
## 47 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6 and
## 48 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 49 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 50 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 51 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5 and
## 52 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5 and
## 53 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 54 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.12 and
## 55 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6 and
## 56 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6 and
## 57 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 58 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.15 and
## 59 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 60 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 61 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9 and
## 62 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 63 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 64 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 65 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5 and
## 66 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 67 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 68 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4 and
## 69 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10 and
## 70 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 71 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.12 and
## 72 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10 and
## 73 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6 and
## 74 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 75 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 76 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 77 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2 and
## 78 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7 and
## 79 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8 and
## 80 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 81 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5 and
## 82 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10 and
## 83 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6 and
## 84 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10 and
## 85 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3 and
## 86 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.7 and
## 87 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.4 and
## 88 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.11 and
## 89 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.12 and
## V14 V15 V16 V17 V18 V19 V20
## 1 texture_mean is v.4_a.6 THEN perimeter_mean is c.6
## 2 texture_mean is v.4_a.8 THEN perimeter_mean is c.5
## 3 texture_mean is v.4_a.3 THEN perimeter_mean is c.1
## 4 texture_mean is v.4_a.6 THEN perimeter_mean is c.4
## 5 texture_mean is v.4_a.6 THEN perimeter_mean is c.3
## 6 texture_mean is v.4_a.4 THEN perimeter_mean is c.5
## 7 texture_mean is v.4_a.5 THEN perimeter_mean is c.4
## 8 texture_mean is v.4_a.5 THEN perimeter_mean is c.4
## 9 texture_mean is v.4_a.4 THEN perimeter_mean is c.3
## 10 texture_mean is v.4_a.6 THEN perimeter_mean is c.6
## 11 texture_mean is v.4_a.7 THEN perimeter_mean is c.4
## 12 texture_mean is v.4_a.7 THEN perimeter_mean is c.7
## 13 texture_mean is v.4_a.6 THEN perimeter_mean is c.8
## 14 texture_mean is v.4_a.2 THEN perimeter_mean is c.4
## 15 texture_mean is v.4_a.5 THEN perimeter_mean is c.9
## 16 texture_mean is v.4_a.6 THEN perimeter_mean is c.13
## 17 texture_mean is v.4_a.2 THEN perimeter_mean is c.6
## 18 texture_mean is v.4_a.4 THEN perimeter_mean is c.5
## 19 texture_mean is v.4_a.5 THEN perimeter_mean is c.5
## 20 texture_mean is v.4_a.8 THEN perimeter_mean is c.9
## 21 texture_mean is v.4_a.3 THEN perimeter_mean is c.4
## 22 texture_mean is v.4_a.7 THEN perimeter_mean is c.7
## 23 texture_mean is v.4_a.7 THEN perimeter_mean is c.8
## 24 texture_mean is v.4_a.4 THEN perimeter_mean is c.4
## 25 texture_mean is v.4_a.5 THEN perimeter_mean is c.6
## 26 texture_mean is v.4_a.3 THEN perimeter_mean is c.3
## 27 texture_mean is v.4_a.5 THEN perimeter_mean is c.6
## 28 texture_mean is v.4_a.4 THEN perimeter_mean is c.6
## 29 texture_mean is v.4_a.5 THEN perimeter_mean is c.5
## 30 texture_mean is v.4_a.6 THEN perimeter_mean is c.5
## 31 texture_mean is v.4_a.6 THEN perimeter_mean is c.2
## 32 texture_mean is v.4_a.6 THEN perimeter_mean is c.7
## 33 texture_mean is v.4_a.3 THEN perimeter_mean is c.3
## 34 texture_mean is v.4_a.4 THEN perimeter_mean is c.9
## 35 texture_mean is v.4_a.1 THEN perimeter_mean is c.3
## 36 texture_mean is v.4_a.5 THEN perimeter_mean is c.7
## 37 texture_mean is v.4_a.8 THEN perimeter_mean is c.8
## 38 texture_mean is v.4_a.4 THEN perimeter_mean is c.6
## 39 texture_mean is v.4_a.2 THEN perimeter_mean is c.4
## 40 texture_mean is v.4_a.6 THEN perimeter_mean is c.5
## 41 texture_mean is v.4_a.2 THEN perimeter_mean is c.7
## 42 texture_mean is v.4_a.3 THEN perimeter_mean is c.2
## 43 texture_mean is v.4_a.5 THEN perimeter_mean is c.3
## 44 texture_mean is v.4_a.6 THEN perimeter_mean is c.7
## 45 texture_mean is v.4_a.3 THEN perimeter_mean is c.5
## 46 texture_mean is v.4_a.7 THEN perimeter_mean is c.14
## 47 texture_mean is v.4_a.7 THEN perimeter_mean is c.6
## 48 texture_mean is v.4_a.5 THEN perimeter_mean is c.8
## 49 texture_mean is v.4_a.4 THEN perimeter_mean is c.4
## 50 texture_mean is v.4_a.7 THEN perimeter_mean is c.5
## 51 texture_mean is v.4_a.9 THEN perimeter_mean is c.5
## 52 texture_mean is v.4_a.7 THEN perimeter_mean is c.6
## 53 texture_mean is v.4_a.7 THEN perimeter_mean is c.8
## 54 texture_mean is v.4_a.9 THEN perimeter_mean is c.12
## 55 texture_mean is v.4_a.8 THEN perimeter_mean is c.6
## 56 texture_mean is v.4_a.4 THEN perimeter_mean is c.6
## 57 texture_mean is v.4_a.3 THEN perimeter_mean is c.6
## 58 texture_mean is v.4_a.5 THEN perimeter_mean is c.15
## 59 texture_mean is v.4_a.9 THEN perimeter_mean is c.8
## 60 texture_mean is v.4_a.7 THEN perimeter_mean is c.9
## 61 texture_mean is v.4_a.12 THEN perimeter_mean is c.9
## 62 texture_mean is v.4_a.3 THEN perimeter_mean is c.6
## 63 texture_mean is v.4_a.4 THEN perimeter_mean is c.3
## 64 texture_mean is v.4_a.8 THEN perimeter_mean is c.5
## 65 texture_mean is v.4_a.7 THEN perimeter_mean is c.5
## 66 texture_mean is v.4_a.5 THEN perimeter_mean is c.8
## 67 texture_mean is v.4_a.9 THEN perimeter_mean is c.4
## 68 texture_mean is v.4_a.12 THEN perimeter_mean is c.4
## 69 texture_mean is v.4_a.10 THEN perimeter_mean is c.10
## 70 texture_mean is v.4_a.6 THEN perimeter_mean is c.5
## 71 texture_mean is v.4_a.9 THEN perimeter_mean is c.12
## 72 texture_mean is v.4_a.7 THEN perimeter_mean is c.10
## 73 texture_mean is v.4_a.10 THEN perimeter_mean is c.6
## 74 texture_mean is v.4_a.15 THEN perimeter_mean is c.8
## 75 texture_mean is v.4_a.4 THEN perimeter_mean is c.5
## 76 texture_mean is v.4_a.8 THEN perimeter_mean is c.3
## 77 texture_mean is v.4_a.4 THEN perimeter_mean is c.2
## 78 texture_mean is v.4_a.6 THEN perimeter_mean is c.7
## 79 texture_mean is v.4_a.6 THEN perimeter_mean is c.7
## 80 texture_mean is v.4_a.6 THEN perimeter_mean is c.5
## 81 texture_mean is v.4_a.7 THEN perimeter_mean is c.4
## 82 texture_mean is v.4_a.7 THEN perimeter_mean is c.10
## 83 texture_mean is v.4_a.7 THEN perimeter_mean is c.6
## 84 texture_mean is v.4_a.9 THEN perimeter_mean is c.11
## 85 texture_mean is v.4_a.2 THEN perimeter_mean is c.3
## 86 texture_mean is v.4_a.3 THEN perimeter_mean is c.7
## 87 texture_mean is v.4_a.4 THEN perimeter_mean is c.4
## 88 texture_mean is v.4_a.6 THEN perimeter_mean is c.12
## 89 texture_mean is v.4_a.7 THEN perimeter_mean is c.11
## 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"
str(pred)
## num [1:319, 1] 137 74 122 115 122 ...
str(data_research)
## tibble [319 × 2] (S3: tbl_df/tbl/data.frame)
## $ id : num [1:319] 884948 88518501 885429 8860702 886226 ...
## $ perimeter_mean: num [1:319] 138.9 73.3 130.7 113 126.5 ...
data_research$predict <- pred
data_research
## # A tibble: 319 × 3
## id perimeter_mean predict[,1]
## <dbl> <dbl> <dbl>
## 1 884948 139. 137.
## 2 88518501 73.3 74.0
## 3 885429 131. 122.
## 4 8860702 113 115.
## 5 886226 126. 122.
## 6 886452 91.4 92.2
## 7 88649001 134. 137.
## 8 886776 103. 101.
## 9 887181 110. 104.
## 10 88725602 104. 126.
## # … with 309 more rows
data_research$residual <- (data_research$perimeter_mean - data_research$predict)
data_research
## # A tibble: 319 × 4
## id perimeter_mean predict[,1] residual[,1]
## <dbl> <dbl> <dbl> <dbl>
## 1 884948 139. 137. 2.23
## 2 88518501 73.3 74.0 -0.743
## 3 885429 131. 122. 8.97
## 4 8860702 113 115. -1.88
## 5 886226 126. 122. 4.99
## 6 886452 91.4 92.2 -0.748
## 7 88649001 134. 137. -3.24
## 8 886776 103. 101. 1.80
## 9 887181 110. 104. 5.86
## 10 88725602 104. 126. -22.8
## # … with 309 more rows
mean(data_research$predict != data_research$perimeter_mean)
## [1] 1
accuracy <- table(data_research$predict, data_research$perimeter_mean)
sum(diag(accuracy))/sum(accuracy)
## [1] 0.03134796