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-1 sampai ke-100 dengan kolom ke-1 sampai ke-4
training <- cmcData[1:100,1:4 ]
#untuk testing kolom yang dipakai adalah kolom ke-1 sampai ke-3
testing <- cmcData[101:nrow(cmcData),1:3]
#untuk validasi kolom yang dipakai adalah kolom ke-4
validasi <- cmcData[101:nrow(cmcData),4]
#data_research yang digunakan adalah kolom 4(texture_mean) dan 5(perimeter_mean)
data_research <- cmcData[101:nrow(cmcData),c(5,4)]
training
## # A tibble: 100 × 4
## id diagnosis radius_mean texture_mean
## <dbl> <dbl> <dbl> <dbl>
## 1 842302 1 18.0 10.4
## 2 842517 1 20.6 17.8
## 3 84300903 1 19.7 21.2
## 4 84348301 1 11.4 20.4
## 5 84358402 1 20.3 14.3
## 6 843786 1 12.4 15.7
## 7 844359 1 18.2 20.0
## 8 84458202 1 13.7 20.8
## 9 844981 1 13 21.8
## 10 84501001 1 12.5 24.0
## # … with 90 more rows
testing
## # A tibble: 469 × 3
## id diagnosis radius_mean
## <dbl> <dbl> <dbl>
## 1 862717 1 13.6
## 2 862722 0 6.98
## 3 862965 0 12.2
## 4 862980 0 9.88
## 5 862989 0 10.5
## 6 863030 1 13.1
## 7 863031 0 11.6
## 8 863270 0 12.4
## 9 86355 1 22.3
## 10 864018 0 11.3
## # … with 459 more rows
validasi
## # A tibble: 469 × 1
## texture_mean
## <dbl>
## 1 25.0
## 2 13.4
## 3 20.5
## 4 19.4
## 5 19.3
## 6 15.6
## 7 18.3
## 8 18.5
## 9 19.7
## 10 21.3
## # … with 459 more rows
data_research
## # A tibble: 469 × 2
## perimeter_mean texture_mean
## <dbl> <dbl>
## 1 88.0 25.0
## 2 43.8 13.4
## 3 77.2 20.5
## 4 64.0 19.4
## 5 67.4 19.3
## 6 87.2 15.6
## 7 75.2 18.3
## 8 79.0 18.5
## 9 153. 19.7
## 10 72.5 21.3
## # … with 459 more rows
## Define interval of data
range.data <-apply(training, 2, range)
range.data
## id diagnosis radius_mean texture_mean
## [1,] 85715 0 8.196 10.38
## [2,] 86135502 1 25.220 27.54
## 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"
## Display the FRBS model
summary(object.reg)
## The name of model: sim-0
## Model was trained using: WM
## The names of attributes: id diagnosis radius_mean texture_mean
## The interval of training data:
## id diagnosis radius_mean texture_mean
## min 85715 0 8.196 10.38
## max 86135502 1 25.220 27.54
## 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"
## 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
## [1,] 5.0000000 5.0000000 5.000
## [2,] 0.8571429 0.9285714 1.000
## [3,] 0.0250000 0.0250000 0.025
## [4,] NA NA NA
## [5,] 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
## [1,] 15 15 15 15
## The fuzzy IF-THEN rules:
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
## 1 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9
## 2 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8
## 3 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 4 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 5 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 6 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 7 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 8 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 9 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.11
## 10 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5
## 11 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2
## 12 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 13 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.4
## 14 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 15 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 16 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 17 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9
## 18 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5
## 19 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 20 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 21 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8
## 22 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.3
## 23 IF id is v.1_a.15 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 24 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9
## 25 IF id is v.1_a.15 and diagnosis is v.2_a.1 and radius_mean is v.3_a.1
## 26 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 27 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6
## 28 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 29 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.11
## 30 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9
## 31 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 32 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.6
## 33 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2
## 34 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5
## 35 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5
## 36 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 37 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.11
## 38 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.5
## 39 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2
## 40 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2
## 41 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 42 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.12
## 43 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.1
## 44 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.4
## 45 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.1
## 46 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 47 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 48 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8
## 49 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 50 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8
## 51 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 52 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.2
## 53 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 54 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.3
## 55 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 56 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9
## 57 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.11
## 58 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 59 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.15
## 60 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 61 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 62 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 63 IF id is v.1_a.2 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 64 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 65 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 66 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 67 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 68 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8
## 69 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 70 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.5
## 71 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 72 IF id is v.1_a.2 and diagnosis is v.2_a.15 and radius_mean is v.3_a.9
## 73 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.4
## 74 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.7
## 75 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 76 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.8
## 77 IF id is v.1_a.1 and diagnosis is v.2_a.1 and radius_mean is v.3_a.4
## 78 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## 79 IF id is v.1_a.1 and diagnosis is v.2_a.15 and radius_mean is v.3_a.10
## 80 IF id is v.1_a.15 and diagnosis is v.2_a.15 and radius_mean is v.3_a.6
## V13 V14 V15 V16
## 1 THEN texture_mean is c.1
## 2 THEN texture_mean is c.10
## 3 THEN texture_mean is c.11
## 4 THEN texture_mean is c.14
## 5 THEN texture_mean is c.10
## 6 THEN texture_mean is c.13
## 7 THEN texture_mean is c.10
## 8 THEN texture_mean is c.10
## 9 THEN texture_mean is c.7
## 10 THEN texture_mean is c.9
## 11 THEN texture_mean is c.4
## 12 THEN texture_mean is c.3
## 13 THEN texture_mean is c.8
## 14 THEN texture_mean is c.15
## 15 THEN texture_mean is c.13
## 16 THEN texture_mean is c.6
## 17 THEN texture_mean is c.8
## 18 THEN texture_mean is c.8
## 19 THEN texture_mean is c.7
## 20 THEN texture_mean is c.10
## 21 THEN texture_mean is c.12
## 22 THEN texture_mean is c.10
## 23 THEN texture_mean is c.8
## 24 THEN texture_mean is c.9
## 25 THEN texture_mean is c.6
## 26 THEN texture_mean is c.7
## 27 THEN texture_mean is c.12
## 28 THEN texture_mean is c.8
## 29 THEN texture_mean is c.4
## 30 THEN texture_mean is c.5
## 31 THEN texture_mean is c.12
## 32 THEN texture_mean is c.5
## 33 THEN texture_mean is c.9
## 34 THEN texture_mean is c.10
## 35 THEN texture_mean is c.12
## 36 THEN texture_mean is c.8
## 37 THEN texture_mean is c.11
## 38 THEN texture_mean is c.10
## 39 THEN texture_mean is c.10
## 40 THEN texture_mean is c.7
## 41 THEN texture_mean is c.9
## 42 THEN texture_mean is c.11
## 43 THEN texture_mean is c.2
## 44 THEN texture_mean is c.9
## 45 THEN texture_mean is c.10
## 46 THEN texture_mean is c.11
## 47 THEN texture_mean is c.9
## 48 THEN texture_mean is c.6
## 49 THEN texture_mean is c.5
## 50 THEN texture_mean is c.13
## 51 THEN texture_mean is c.1
## 52 THEN texture_mean is c.3
## 53 THEN texture_mean is c.4
## 54 THEN texture_mean is c.5
## 55 THEN texture_mean is c.6
## 56 THEN texture_mean is c.6
## 57 THEN texture_mean is c.12
## 58 THEN texture_mean is c.7
## 59 THEN texture_mean is c.13
## 60 THEN texture_mean is c.14
## 61 THEN texture_mean is c.5
## 62 THEN texture_mean is c.9
## 63 THEN texture_mean is c.4
## 64 THEN texture_mean is c.11
## 65 THEN texture_mean is c.7
## 66 THEN texture_mean is c.13
## 67 THEN texture_mean is c.5
## 68 THEN texture_mean is c.9
## 69 THEN texture_mean is c.5
## 70 THEN texture_mean is c.7
## 71 THEN texture_mean is c.4
## 72 THEN texture_mean is c.8
## 73 THEN texture_mean is c.5
## 74 THEN texture_mean is c.10
## 75 THEN texture_mean is c.10
## 76 THEN texture_mean is c.7
## 77 THEN texture_mean is c.8
## 78 THEN texture_mean is c.12
## 79 THEN texture_mean is c.9
## 80 THEN texture_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"
## [1] "note: Some of your new data are out of the previously specified range"
str(pred)
## num [1:469, 1] 20.3 16.3 17.1 17.9 15.6 ...
str(data_research)
## tibble [469 × 2] (S3: tbl_df/tbl/data.frame)
## $ perimeter_mean: num [1:469] 88 43.8 77.2 64 67.4 ...
## $ texture_mean : num [1:469] 25 13.4 20.5 19.4 19.3 ...
data_research$predict <- pred
data_research
## # A tibble: 469 × 3
## perimeter_mean texture_mean predict[,1]
## <dbl> <dbl> <dbl>
## 1 88.0 25.0 20.3
## 2 43.8 13.4 16.3
## 3 77.2 20.5 17.1
## 4 64.0 19.4 17.9
## 5 67.4 19.3 15.6
## 6 87.2 15.6 20.2
## 7 75.2 18.3 17.1
## 8 79.0 18.5 17.2
## 9 153. 19.7 22.6
## 10 72.5 21.3 17.0
## # … with 459 more rows
data_research$residual <- (data_research$perimeter_mean-data_research$texture_mean )
data_research
## # A tibble: 469 × 4
## perimeter_mean texture_mean predict[,1] residual
## <dbl> <dbl> <dbl> <dbl>
## 1 88.0 25.0 20.3 63.1
## 2 43.8 13.4 16.3 30.4
## 3 77.2 20.5 17.1 56.7
## 4 64.0 19.4 17.9 44.6
## 5 67.4 19.3 15.6 48.1
## 6 87.2 15.6 20.2 71.6
## 7 75.2 18.3 17.1 56.8
## 8 79.0 18.5 17.2 60.5
## 9 153. 19.7 22.6 133.
## 10 72.5 21.3 17.0 51.2
## # … with 459 more rows
mean(data_research$predict != data_research$texture_mean)
## [1] 1
accuracy <- table(data_research$predict, data_research$texture_mean)
sum(diag(accuracy))/sum(accuracy)
## [1] 0.004264392