This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
set.seed(1234)
randDat <- matrix(rnorm(50), nrow=5)
randDat
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -1.2070657 0.5060559 -0.47719270 -0.1102855 0.1340882 -1.4482049
## [2,] 0.2774292 -0.5747400 -0.99838644 -0.5110095 -0.4906859 0.5747557
## [3,] 1.0844412 -0.5466319 -0.77625389 -0.9111954 -0.4405479 -1.0236557
## [4,] -2.3456977 -0.5644520 0.06445882 -0.8371717 0.4595894 -0.0151383
## [5,] 0.4291247 -0.8900378 0.95949406 2.4158352 -0.6937202 -0.9359486
## [,7] [,8] [,9] [,10]
## [1,] 1.1022975 -1.1676193 1.4494963 -0.9685143
## [2,] -0.4755931 -2.1800396 -1.0686427 -1.1073182
## [3,] -0.7094400 -1.3409932 -0.8553646 -1.2519859
## [4,] -0.5012581 -0.2942939 -0.2806230 -0.5238281
## [5,] -1.6290935 -0.4658975 -0.9943401 -0.4968500
dist(randDat) # Euclidean distance (default)
## 1 2 3 4
## 2 4.261667
## 3 4.038030 2.060117
## 4 3.456732 3.726399 4.037978
## 5 5.307253 4.415046 4.111230 4.814393
dist(randDat, method ='manhattan') # manhattan distance
## 1 2 3 4
## 2 11.382197
## 3 10.016795 4.536827
## 4 9.887932 8.845512 8.829131
## 5 14.683770 10.617871 9.091241 11.362705
dist(randDat, method = 'minkowski', p= 4)
## 1 2 3 4
## 2 2.899494
## 3 2.875467 1.653824
## 4 2.208297 2.814135 3.453336
## 5 3.488531 3.192217 3.398721 3.643788
data('iris')
d <- dist(scale(iris[,-5]))
h <- hclust(d)
h
##
## Call:
## hclust(d = d)
##
## Cluster method : complete
## Distance : euclidean
## Number of objects: 150
plot(h)
plot(h, hang=-0.1, labels=iris[["Species"]], cex=0.5)
c <- cutree(h,3)
c
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [38] 1 1 1 1 2 1 1 1 1 1 1 1 1 3 3 3 2 3 2 3 2 3 2 2 3 2 3 3 3 3 2 2 2 3 3 3 3
## [75] 3 3 3 3 3 2 2 2 2 3 3 3 3 2 3 2 2 3 2 2 2 3 3 3 2 2 3 3 3 3 3 3 2 3 3 3 3
## [112] 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [149] 3 3
(cm <- table(c, iris$Species))
##
## c setosa versicolor virginica
## 1 49 0 0
## 2 1 21 2
## 3 0 29 48
Error <- 100*(1-sum(diag(cm))/sum(cm))
Error
## [1] 21.33333
library(cluster)
silhouette(c, d)
## cluster neighbor sil_width
## [1,] 1 2 0.74381061
## [2,] 1 2 0.52251215
## [3,] 1 2 0.66073019
## [4,] 1 2 0.58819251
## [5,] 1 2 0.74002653
## [6,] 1 2 0.63964608
## [7,] 1 2 0.69599504
## [8,] 1 2 0.73518521
## [9,] 1 2 0.41172906
## [10,] 1 2 0.60436547
## [11,] 1 2 0.69419410
## [12,] 1 2 0.72329651
## [13,] 1 2 0.53223683
## [14,] 1 2 0.49535416
## [15,] 1 3 0.57762368
## [16,] 1 3 0.46169664
## [17,] 1 2 0.64765800
## [18,] 1 2 0.73950603
## [19,] 1 2 0.61735113
## [20,] 1 2 0.69713933
## [21,] 1 2 0.67059935
## [22,] 1 2 0.70888740
## [23,] 1 2 0.70027595
## [24,] 1 2 0.63966308
## [25,] 1 2 0.70331638
## [26,] 1 2 0.49852786
## [27,] 1 2 0.71129988
## [28,] 1 2 0.73277924
## [29,] 1 2 0.72073892
## [30,] 1 2 0.65104081
## [31,] 1 2 0.59701883
## [32,] 1 2 0.66005618
## [33,] 1 2 0.61396099
## [34,] 1 3 0.56172259
## [35,] 1 2 0.60158592
## [36,] 1 2 0.66343730
## [37,] 1 2 0.67907313
## [38,] 1 2 0.73344514
## [39,] 1 2 0.49893006
## [40,] 1 2 0.73032162
## [41,] 1 2 0.74223204
## [42,] 2 1 0.11505796
## [43,] 1 2 0.61310051
## [44,] 1 2 0.67752577
## [45,] 1 2 0.67266764
## [46,] 1 2 0.51096571
## [47,] 1 2 0.69769140
## [48,] 1 2 0.64717198
## [49,] 1 2 0.70772044
## [50,] 1 2 0.70821522
## [51,] 3 2 0.44810916
## [52,] 3 2 0.42551507
## [53,] 3 2 0.48113585
## [54,] 2 3 0.60056798
## [55,] 3 2 0.28909599
## [56,] 2 3 0.25532064
## [57,] 3 2 0.44163580
## [58,] 2 3 0.58862119
## [59,] 3 2 0.31165524
## [60,] 2 3 0.47925063
## [61,] 2 3 0.53533494
## [62,] 3 2 0.13798259
## [63,] 2 3 0.50489380
## [64,] 3 2 0.19049376
## [65,] 3 2 -0.29889737
## [66,] 3 2 0.41447292
## [67,] 3 2 0.01586865
## [68,] 2 3 0.44246194
## [69,] 2 3 0.34101152
## [70,] 2 3 0.61849466
## [71,] 3 2 0.37763392
## [72,] 3 2 -0.13265959
## [73,] 3 2 -0.10917695
## [74,] 3 2 -0.04975816
## [75,] 3 2 0.21535096
## [76,] 3 2 0.37677150
## [77,] 3 2 0.33076400
## [78,] 3 2 0.51039252
## [79,] 3 2 0.14817057
## [80,] 2 3 0.55591487
## [81,] 2 3 0.64017720
## [82,] 2 3 0.63633810
## [83,] 2 3 0.43828812
## [84,] 3 2 0.05444339
## [85,] 3 2 -0.08567781
## [86,] 3 2 0.35396959
## [87,] 3 2 0.46838922
## [88,] 2 3 0.33877191
## [89,] 3 2 -0.13113484
## [90,] 2 3 0.60086588
## [91,] 2 3 0.54141464
## [92,] 3 2 0.25946590
## [93,] 2 3 0.51105620
## [94,] 2 3 0.59963069
## [95,] 2 3 0.45426587
## [96,] 3 2 -0.11025116
## [97,] 3 2 -0.20236125
## [98,] 3 2 0.12488131
## [99,] 2 3 0.58669598
## [100,] 2 3 0.31751136
## [101,] 3 2 0.48030393
## [102,] 3 2 0.07781886
## [103,] 3 2 0.52818285
## [104,] 3 2 0.45479299
## [105,] 3 2 0.52765484
## [106,] 3 2 0.46070084
## [107,] 2 3 0.42297967
## [108,] 3 2 0.46821593
## [109,] 3 2 0.24408754
## [110,] 3 2 0.45830809
## [111,] 3 2 0.54054151
## [112,] 3 2 0.34990684
## [113,] 3 2 0.54864397
## [114,] 3 2 -0.14954119
## [115,] 3 2 0.24982270
## [116,] 3 2 0.52152482
## [117,] 3 2 0.52530621
## [118,] 3 2 0.40527772
## [119,] 3 2 0.35156138
## [120,] 2 3 0.35090417
## [121,] 3 2 0.54433023
## [122,] 3 2 0.07700160
## [123,] 3 2 0.40831945
## [124,] 3 2 0.26315229
## [125,] 3 2 0.54408598
## [126,] 3 2 0.51663483
## [127,] 3 2 0.30994750
## [128,] 3 2 0.41268004
## [129,] 3 2 0.44434621
## [130,] 3 2 0.48294810
## [131,] 3 2 0.44165933
## [132,] 3 2 0.39458828
## [133,] 3 2 0.44191565
## [134,] 3 2 0.28181352
## [135,] 3 2 -0.02944153
## [136,] 3 2 0.45534598
## [137,] 3 2 0.48077840
## [138,] 3 2 0.52641092
## [139,] 3 2 0.36551707
## [140,] 3 2 0.55583283
## [141,] 3 2 0.53460231
## [142,] 3 2 0.53372987
## [143,] 3 2 0.07781886
## [144,] 3 2 0.54363634
## [145,] 3 2 0.51463269
## [146,] 3 2 0.52659597
## [147,] 3 2 0.08512800
## [148,] 3 2 0.53286756
## [149,] 3 2 0.47143716
## [150,] 3 2 0.34701606
## attr(,"Ordered")
## [1] FALSE
## attr(,"call")
## silhouette.default(x = c, dist = d)
## attr(,"class")
## [1] "silhouette"
plot(silhouette(c, d))
head('iris')
## [1] "iris"
set.seed(1234)
d <- dist(scale(iris[,-5]))
methods <- c('complete', 'single', 'average')
avgS <- matrix( NA, ncol=3, nrow=5, dimnames=list(2:6, methods))
for (k in 2:6) {
for (m in seq_along(methods)){
h <- hclust(d, method = methods[m])
c <- cutree(h,k)
s <- silhouette(c,d)
avgS[k-1, m]=mean(s[,3])
}
}
avgS
## complete single average
## 2 0.4408121 0.5817500 0.5817500
## 3 0.4496185 0.5046456 0.4802669
## 4 0.4106071 0.4067465 0.4067465
## 5 0.3520630 0.3424089 0.3746013
## 6 0.3106991 0.2018867 0.3248248
d <- dist(scale(iris[,-5]))
h <- hclust(d)
h
##
## Call:
## hclust(d = d)
##
## Cluster method : complete
## Distance : euclidean
## Number of objects: 150
plot(h)
plot(h, hang=-0.1, labels=iris[["Species"]], cex=0.5)
library(readr)
# Read the dataset from the text file
seeds_dataset <- read_delim("C:/Users/abdul/Downloads/seeds_dataset.txt",
delim = "\t",
escape_double = FALSE,
col_names = FALSE,
trim_ws = TRUE)
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Rows: 210 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (1): X8
## dbl (7): X1, X2, X3, X4, X5, X6, X7
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(seeds_dataset)
sdf <- seeds_dataset[,-8]
View(sdf)
feature_name <- c('area', 'perimeter', 'compactness', 'length_of_kernel',
'width_of_kernel', 'asym_coeff', 'length_of_Kernel_groove')
colnames(sdf) <- feature_name
View(sdf)
summary(sdf)
## area perimeter compactness length_of_kernel
## Min. :10.59 Min. :12.41 Min. :0.8081 Min. :0.8189
## 1st Qu.:12.27 1st Qu.:13.45 1st Qu.:0.8577 1st Qu.:5.2447
## Median :14.36 Median :14.32 Median :0.8735 Median :5.5180
## Mean :14.85 Mean :14.56 Mean :0.8713 Mean :5.5639
## 3rd Qu.:17.30 3rd Qu.:15.71 3rd Qu.:0.8877 3rd Qu.:5.9798
## Max. :21.18 Max. :17.25 Max. :0.9183 Max. :6.6750
## NA's :3
## width_of_kernel asym_coeff length_of_Kernel_groove
## Min. :2.630 Min. :0.7651 Min. :3.485
## 1st Qu.:2.956 1st Qu.:2.6002 1st Qu.:5.045
## Median :3.245 Median :3.5990 Median :5.226
## Mean :3.281 Mean :3.6935 Mean :5.408
## 3rd Qu.:3.566 3rd Qu.:4.7687 3rd Qu.:5.879
## Max. :5.325 Max. :8.4560 Max. :6.735
## NA's :1 NA's :4
is.na(sdf)
## area perimeter compactness length_of_kernel width_of_kernel asym_coeff
## [1,] FALSE FALSE FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE FALSE FALSE FALSE
## [4,] FALSE FALSE FALSE FALSE FALSE FALSE
## [5,] FALSE FALSE FALSE FALSE FALSE FALSE
## [6,] FALSE FALSE FALSE FALSE FALSE FALSE
## [7,] FALSE FALSE FALSE FALSE FALSE FALSE
## [8,] FALSE FALSE FALSE FALSE FALSE FALSE
## [9,] FALSE FALSE FALSE FALSE FALSE FALSE
## [10,] FALSE FALSE FALSE FALSE FALSE FALSE
## [11,] FALSE FALSE FALSE FALSE FALSE FALSE
## [12,] FALSE FALSE FALSE FALSE FALSE FALSE
## [13,] FALSE FALSE FALSE FALSE FALSE FALSE
## [14,] FALSE FALSE FALSE FALSE FALSE FALSE
## [15,] FALSE FALSE FALSE FALSE FALSE FALSE
## [16,] FALSE FALSE FALSE FALSE FALSE FALSE
## [17,] FALSE FALSE FALSE FALSE FALSE FALSE
## [18,] FALSE FALSE FALSE FALSE FALSE FALSE
## [19,] FALSE FALSE FALSE FALSE FALSE FALSE
## [20,] FALSE FALSE FALSE FALSE FALSE FALSE
## [21,] FALSE FALSE FALSE FALSE FALSE FALSE
## [22,] FALSE FALSE FALSE FALSE FALSE FALSE
## [23,] FALSE FALSE FALSE FALSE FALSE FALSE
## [24,] FALSE FALSE FALSE FALSE FALSE FALSE
## [25,] FALSE FALSE FALSE FALSE FALSE FALSE
## [26,] FALSE FALSE FALSE FALSE FALSE FALSE
## [27,] FALSE FALSE FALSE FALSE FALSE FALSE
## [28,] FALSE FALSE FALSE FALSE FALSE FALSE
## [29,] FALSE FALSE FALSE FALSE FALSE FALSE
## [30,] FALSE FALSE FALSE FALSE FALSE FALSE
## [31,] FALSE FALSE FALSE FALSE FALSE FALSE
## [32,] FALSE FALSE FALSE FALSE FALSE FALSE
## [33,] FALSE FALSE FALSE FALSE FALSE FALSE
## [34,] FALSE FALSE FALSE FALSE FALSE FALSE
## [35,] FALSE FALSE FALSE FALSE FALSE FALSE
## [36,] FALSE FALSE TRUE FALSE TRUE FALSE
## [37,] FALSE FALSE FALSE FALSE FALSE FALSE
## [38,] FALSE FALSE FALSE FALSE FALSE FALSE
## [39,] FALSE FALSE FALSE FALSE FALSE FALSE
## [40,] FALSE FALSE FALSE FALSE FALSE FALSE
## [41,] FALSE FALSE FALSE FALSE FALSE FALSE
## [42,] FALSE FALSE FALSE FALSE FALSE FALSE
## [43,] FALSE FALSE FALSE FALSE FALSE FALSE
## [44,] FALSE FALSE FALSE FALSE FALSE FALSE
## [45,] FALSE FALSE FALSE FALSE FALSE FALSE
## [46,] FALSE FALSE FALSE FALSE FALSE FALSE
## [47,] FALSE FALSE FALSE FALSE FALSE FALSE
## [48,] FALSE FALSE FALSE FALSE FALSE FALSE
## [49,] FALSE FALSE FALSE FALSE FALSE FALSE
## [50,] FALSE FALSE FALSE FALSE FALSE FALSE
## [51,] FALSE FALSE FALSE FALSE FALSE FALSE
## [52,] FALSE FALSE FALSE FALSE FALSE FALSE
## [53,] FALSE FALSE FALSE FALSE FALSE FALSE
## [54,] FALSE FALSE FALSE FALSE FALSE FALSE
## [55,] FALSE FALSE FALSE FALSE FALSE FALSE
## [56,] FALSE FALSE FALSE FALSE FALSE FALSE
## [57,] FALSE FALSE FALSE FALSE FALSE FALSE
## [58,] FALSE FALSE FALSE FALSE FALSE FALSE
## [59,] FALSE FALSE FALSE FALSE FALSE FALSE
## [60,] FALSE FALSE FALSE FALSE FALSE FALSE
## [61,] FALSE FALSE FALSE FALSE FALSE FALSE
## [62,] FALSE FALSE FALSE FALSE FALSE FALSE
## [63,] FALSE FALSE FALSE FALSE FALSE FALSE
## [64,] FALSE FALSE FALSE FALSE FALSE FALSE
## [65,] FALSE FALSE FALSE FALSE FALSE FALSE
## [66,] FALSE FALSE FALSE FALSE FALSE FALSE
## [67,] FALSE FALSE FALSE FALSE FALSE FALSE
## [68,] FALSE FALSE FALSE FALSE FALSE FALSE
## [69,] FALSE FALSE FALSE FALSE FALSE FALSE
## [70,] FALSE FALSE FALSE FALSE FALSE FALSE
## [71,] FALSE FALSE FALSE FALSE FALSE FALSE
## [72,] FALSE FALSE FALSE FALSE FALSE FALSE
## [73,] FALSE FALSE FALSE FALSE FALSE FALSE
## [74,] FALSE FALSE FALSE FALSE FALSE FALSE
## [75,] FALSE FALSE FALSE FALSE FALSE FALSE
## [76,] FALSE FALSE FALSE FALSE FALSE FALSE
## [77,] FALSE FALSE FALSE FALSE FALSE FALSE
## [78,] FALSE FALSE FALSE FALSE FALSE FALSE
## [79,] FALSE FALSE FALSE FALSE FALSE FALSE
## [80,] FALSE FALSE FALSE FALSE FALSE FALSE
## [81,] FALSE FALSE FALSE FALSE FALSE FALSE
## [82,] FALSE FALSE FALSE FALSE FALSE FALSE
## [83,] FALSE FALSE FALSE FALSE FALSE FALSE
## [84,] FALSE FALSE FALSE FALSE FALSE FALSE
## [85,] FALSE FALSE FALSE FALSE FALSE FALSE
## [86,] FALSE FALSE FALSE FALSE FALSE FALSE
## [87,] FALSE FALSE FALSE FALSE FALSE FALSE
## [88,] FALSE FALSE FALSE FALSE FALSE FALSE
## [89,] FALSE FALSE FALSE FALSE FALSE FALSE
## [90,] FALSE FALSE FALSE FALSE FALSE FALSE
## [91,] FALSE FALSE FALSE FALSE FALSE FALSE
## [92,] FALSE FALSE FALSE FALSE FALSE FALSE
## [93,] FALSE FALSE FALSE FALSE FALSE FALSE
## [94,] FALSE FALSE FALSE FALSE FALSE FALSE
## [95,] FALSE FALSE FALSE FALSE FALSE FALSE
## [96,] FALSE FALSE FALSE FALSE FALSE FALSE
## [97,] FALSE FALSE FALSE FALSE FALSE FALSE
## [98,] FALSE FALSE FALSE FALSE FALSE FALSE
## [99,] FALSE FALSE FALSE FALSE FALSE FALSE
## [100,] FALSE FALSE FALSE FALSE FALSE FALSE
## [101,] FALSE FALSE FALSE FALSE FALSE FALSE
## [102,] FALSE FALSE FALSE FALSE FALSE FALSE
## [103,] FALSE FALSE FALSE FALSE FALSE FALSE
## [104,] FALSE FALSE FALSE FALSE FALSE FALSE
## [105,] FALSE FALSE FALSE FALSE FALSE FALSE
## [106,] FALSE FALSE FALSE FALSE FALSE FALSE
## [107,] FALSE FALSE FALSE FALSE FALSE FALSE
## [108,] FALSE FALSE FALSE FALSE FALSE FALSE
## [109,] FALSE FALSE FALSE FALSE FALSE FALSE
## [110,] FALSE FALSE FALSE FALSE FALSE FALSE
## [111,] FALSE FALSE FALSE FALSE FALSE FALSE
## [112,] FALSE FALSE FALSE FALSE FALSE FALSE
## [113,] FALSE FALSE FALSE FALSE FALSE FALSE
## [114,] FALSE FALSE FALSE FALSE FALSE FALSE
## [115,] FALSE FALSE FALSE FALSE FALSE FALSE
## [116,] FALSE FALSE FALSE FALSE FALSE FALSE
## [117,] FALSE FALSE FALSE FALSE FALSE FALSE
## [118,] FALSE FALSE FALSE FALSE FALSE FALSE
## [119,] FALSE FALSE FALSE FALSE FALSE FALSE
## [120,] FALSE FALSE FALSE FALSE FALSE FALSE
## [121,] FALSE FALSE FALSE FALSE FALSE FALSE
## [122,] FALSE FALSE FALSE FALSE FALSE FALSE
## [123,] FALSE FALSE FALSE FALSE FALSE FALSE
## [124,] FALSE FALSE FALSE FALSE FALSE FALSE
## [125,] FALSE FALSE FALSE FALSE FALSE FALSE
## [126,] FALSE FALSE FALSE FALSE FALSE FALSE
## [127,] FALSE FALSE FALSE FALSE FALSE FALSE
## [128,] FALSE FALSE FALSE FALSE FALSE FALSE
## [129,] FALSE FALSE FALSE FALSE FALSE FALSE
## [130,] FALSE FALSE FALSE FALSE FALSE FALSE
## [131,] FALSE FALSE FALSE FALSE FALSE FALSE
## [132,] FALSE FALSE FALSE FALSE FALSE FALSE
## [133,] FALSE FALSE FALSE FALSE FALSE FALSE
## [134,] FALSE FALSE FALSE FALSE FALSE FALSE
## [135,] FALSE FALSE FALSE FALSE FALSE FALSE
## [136,] FALSE FALSE FALSE FALSE FALSE FALSE
## [137,] FALSE FALSE FALSE FALSE FALSE FALSE
## [138,] FALSE FALSE FALSE FALSE FALSE FALSE
## [139,] FALSE FALSE FALSE FALSE FALSE FALSE
## [140,] FALSE FALSE FALSE FALSE FALSE FALSE
## [141,] FALSE FALSE FALSE FALSE FALSE FALSE
## [142,] FALSE FALSE FALSE FALSE FALSE FALSE
## [143,] FALSE FALSE FALSE FALSE FALSE FALSE
## [144,] FALSE FALSE FALSE FALSE FALSE FALSE
## [145,] FALSE FALSE FALSE FALSE FALSE FALSE
## [146,] FALSE FALSE FALSE FALSE FALSE FALSE
## [147,] FALSE FALSE FALSE FALSE FALSE FALSE
## [148,] FALSE FALSE FALSE FALSE FALSE FALSE
## [149,] FALSE FALSE FALSE FALSE FALSE FALSE
## [150,] FALSE FALSE FALSE FALSE FALSE FALSE
## [151,] FALSE FALSE FALSE FALSE FALSE FALSE
## [152,] FALSE FALSE FALSE FALSE FALSE FALSE
## [153,] FALSE FALSE FALSE FALSE FALSE FALSE
## [154,] FALSE FALSE FALSE FALSE FALSE FALSE
## [155,] FALSE FALSE FALSE FALSE FALSE FALSE
## [156,] FALSE FALSE FALSE FALSE FALSE FALSE
## [157,] FALSE FALSE FALSE FALSE FALSE FALSE
## [158,] FALSE FALSE FALSE FALSE FALSE FALSE
## [159,] FALSE FALSE FALSE FALSE FALSE FALSE
## [160,] FALSE FALSE FALSE FALSE FALSE FALSE
## [161,] FALSE FALSE FALSE FALSE FALSE FALSE
## [162,] FALSE FALSE FALSE FALSE FALSE FALSE
## [163,] FALSE FALSE FALSE FALSE FALSE FALSE
## [164,] FALSE FALSE FALSE FALSE FALSE FALSE
## [165,] FALSE FALSE FALSE FALSE FALSE FALSE
## [166,] FALSE FALSE FALSE FALSE FALSE FALSE
## [167,] FALSE FALSE FALSE FALSE FALSE FALSE
## [168,] FALSE FALSE FALSE FALSE FALSE FALSE
## [169,] FALSE FALSE FALSE FALSE FALSE FALSE
## [170,] FALSE FALSE TRUE FALSE FALSE FALSE
## [171,] FALSE FALSE TRUE FALSE FALSE FALSE
## [172,] FALSE FALSE FALSE FALSE FALSE FALSE
## [173,] FALSE FALSE FALSE FALSE FALSE FALSE
## [174,] FALSE FALSE FALSE FALSE FALSE FALSE
## [175,] FALSE FALSE FALSE FALSE FALSE FALSE
## [176,] FALSE FALSE FALSE FALSE FALSE FALSE
## [177,] FALSE FALSE FALSE FALSE FALSE FALSE
## [178,] FALSE FALSE FALSE FALSE FALSE FALSE
## [179,] FALSE FALSE FALSE FALSE FALSE FALSE
## [180,] FALSE FALSE FALSE FALSE FALSE FALSE
## [181,] FALSE FALSE FALSE FALSE FALSE FALSE
## [182,] FALSE FALSE FALSE FALSE FALSE FALSE
## [183,] FALSE FALSE FALSE FALSE FALSE FALSE
## [184,] FALSE FALSE FALSE FALSE FALSE FALSE
## [185,] FALSE FALSE FALSE FALSE FALSE FALSE
## [186,] FALSE FALSE FALSE FALSE FALSE FALSE
## [187,] FALSE FALSE FALSE FALSE FALSE FALSE
## [188,] FALSE FALSE FALSE FALSE FALSE FALSE
## [189,] FALSE FALSE FALSE FALSE FALSE FALSE
## [190,] FALSE FALSE FALSE FALSE FALSE FALSE
## [191,] FALSE FALSE FALSE FALSE FALSE FALSE
## [192,] FALSE FALSE FALSE FALSE FALSE FALSE
## [193,] FALSE FALSE FALSE FALSE FALSE FALSE
## [194,] FALSE FALSE FALSE FALSE FALSE FALSE
## [195,] FALSE FALSE FALSE FALSE FALSE FALSE
## [196,] FALSE FALSE FALSE FALSE FALSE FALSE
## [197,] FALSE FALSE FALSE FALSE FALSE FALSE
## [198,] FALSE FALSE FALSE FALSE FALSE FALSE
## [199,] FALSE FALSE FALSE FALSE FALSE FALSE
## [200,] FALSE FALSE FALSE FALSE FALSE FALSE
## [201,] FALSE FALSE FALSE FALSE FALSE FALSE
## [202,] FALSE FALSE FALSE FALSE FALSE FALSE
## [203,] FALSE FALSE FALSE FALSE FALSE FALSE
## [204,] FALSE FALSE FALSE FALSE FALSE FALSE
## [205,] FALSE FALSE FALSE FALSE FALSE FALSE
## [206,] FALSE FALSE FALSE FALSE FALSE FALSE
## [207,] FALSE FALSE FALSE FALSE FALSE FALSE
## [208,] FALSE FALSE FALSE FALSE FALSE FALSE
## [209,] FALSE FALSE FALSE FALSE FALSE FALSE
## [210,] FALSE FALSE FALSE FALSE FALSE FALSE
## length_of_Kernel_groove
## [1,] FALSE
## [2,] FALSE
## [3,] FALSE
## [4,] FALSE
## [5,] FALSE
## [6,] FALSE
## [7,] FALSE
## [8,] TRUE
## [9,] FALSE
## [10,] FALSE
## [11,] FALSE
## [12,] FALSE
## [13,] FALSE
## [14,] FALSE
## [15,] FALSE
## [16,] FALSE
## [17,] FALSE
## [18,] FALSE
## [19,] FALSE
## [20,] FALSE
## [21,] FALSE
## [22,] FALSE
## [23,] FALSE
## [24,] FALSE
## [25,] FALSE
## [26,] FALSE
## [27,] FALSE
## [28,] FALSE
## [29,] FALSE
## [30,] FALSE
## [31,] FALSE
## [32,] FALSE
## [33,] FALSE
## [34,] FALSE
## [35,] FALSE
## [36,] FALSE
## [37,] FALSE
## [38,] FALSE
## [39,] FALSE
## [40,] FALSE
## [41,] FALSE
## [42,] FALSE
## [43,] FALSE
## [44,] FALSE
## [45,] FALSE
## [46,] FALSE
## [47,] FALSE
## [48,] FALSE
## [49,] FALSE
## [50,] FALSE
## [51,] FALSE
## [52,] FALSE
## [53,] FALSE
## [54,] FALSE
## [55,] FALSE
## [56,] FALSE
## [57,] FALSE
## [58,] FALSE
## [59,] FALSE
## [60,] FALSE
## [61,] TRUE
## [62,] FALSE
## [63,] FALSE
## [64,] FALSE
## [65,] FALSE
## [66,] FALSE
## [67,] FALSE
## [68,] FALSE
## [69,] FALSE
## [70,] FALSE
## [71,] FALSE
## [72,] FALSE
## [73,] FALSE
## [74,] FALSE
## [75,] FALSE
## [76,] FALSE
## [77,] FALSE
## [78,] FALSE
## [79,] FALSE
## [80,] FALSE
## [81,] FALSE
## [82,] FALSE
## [83,] FALSE
## [84,] FALSE
## [85,] FALSE
## [86,] FALSE
## [87,] FALSE
## [88,] FALSE
## [89,] FALSE
## [90,] FALSE
## [91,] FALSE
## [92,] FALSE
## [93,] FALSE
## [94,] FALSE
## [95,] FALSE
## [96,] FALSE
## [97,] FALSE
## [98,] FALSE
## [99,] FALSE
## [100,] FALSE
## [101,] FALSE
## [102,] FALSE
## [103,] FALSE
## [104,] FALSE
## [105,] FALSE
## [106,] FALSE
## [107,] FALSE
## [108,] FALSE
## [109,] FALSE
## [110,] FALSE
## [111,] FALSE
## [112,] FALSE
## [113,] FALSE
## [114,] FALSE
## [115,] FALSE
## [116,] FALSE
## [117,] FALSE
## [118,] FALSE
## [119,] FALSE
## [120,] FALSE
## [121,] FALSE
## [122,] FALSE
## [123,] FALSE
## [124,] FALSE
## [125,] FALSE
## [126,] FALSE
## [127,] FALSE
## [128,] FALSE
## [129,] FALSE
## [130,] FALSE
## [131,] FALSE
## [132,] FALSE
## [133,] FALSE
## [134,] FALSE
## [135,] FALSE
## [136,] TRUE
## [137,] FALSE
## [138,] FALSE
## [139,] FALSE
## [140,] FALSE
## [141,] FALSE
## [142,] FALSE
## [143,] FALSE
## [144,] FALSE
## [145,] FALSE
## [146,] FALSE
## [147,] FALSE
## [148,] FALSE
## [149,] FALSE
## [150,] FALSE
## [151,] FALSE
## [152,] FALSE
## [153,] FALSE
## [154,] FALSE
## [155,] FALSE
## [156,] FALSE
## [157,] FALSE
## [158,] FALSE
## [159,] FALSE
## [160,] FALSE
## [161,] FALSE
## [162,] FALSE
## [163,] FALSE
## [164,] FALSE
## [165,] FALSE
## [166,] FALSE
## [167,] FALSE
## [168,] FALSE
## [169,] FALSE
## [170,] FALSE
## [171,] FALSE
## [172,] FALSE
## [173,] FALSE
## [174,] FALSE
## [175,] FALSE
## [176,] FALSE
## [177,] FALSE
## [178,] FALSE
## [179,] FALSE
## [180,] FALSE
## [181,] FALSE
## [182,] FALSE
## [183,] FALSE
## [184,] FALSE
## [185,] FALSE
## [186,] FALSE
## [187,] FALSE
## [188,] FALSE
## [189,] FALSE
## [190,] FALSE
## [191,] FALSE
## [192,] FALSE
## [193,] FALSE
## [194,] FALSE
## [195,] FALSE
## [196,] FALSE
## [197,] FALSE
## [198,] FALSE
## [199,] FALSE
## [200,] FALSE
## [201,] FALSE
## [202,] TRUE
## [203,] FALSE
## [204,] FALSE
## [205,] FALSE
## [206,] FALSE
## [207,] FALSE
## [208,] FALSE
## [209,] FALSE
## [210,] FALSE
sdf <- na.omit(sdf)
summary(sdf)
## area perimeter compactness length_of_kernel
## Min. :10.59 Min. :12.41 Min. :0.8081 Min. :4.899
## 1st Qu.:12.33 1st Qu.:13.46 1st Qu.:0.8571 1st Qu.:5.265
## Median :14.38 Median :14.37 Median :0.8734 Median :5.541
## Mean :14.91 Mean :14.59 Mean :0.8709 Mean :5.640
## 3rd Qu.:17.45 3rd Qu.:15.80 3rd Qu.:0.8871 3rd Qu.:6.002
## Max. :21.18 Max. :17.25 Max. :0.9183 Max. :6.675
## width_of_kernel asym_coeff length_of_Kernel_groove
## Min. :2.630 Min. :0.7651 Min. :4.519
## 1st Qu.:2.954 1st Qu.:2.5700 1st Qu.:5.045
## Median :3.242 Median :3.6310 Median :5.228
## Mean :3.264 Mean :3.7104 Mean :5.420
## 3rd Qu.:3.564 3rd Qu.:4.7990 3rd Qu.:5.879
## Max. :4.033 Max. :8.4560 Max. :6.550
sdf_scale <- scale(sdf)
View(sdf_scale)
summary(sdf_scale)
## area perimeter compactness length_of_kernel
## Min. :-1.4783 Min. :-1.6633 Min. :-2.6925 Min. :-1.6712
## 1st Qu.:-0.8824 1st Qu.:-0.8579 1st Qu.:-0.5927 1st Qu.:-0.8461
## Median :-0.1803 Median :-0.1670 Median : 0.1058 Median :-0.2238
## Mean : 0.0000 Mean : 0.0000 Mean : 0.0000 Mean : 0.0000
## 3rd Qu.: 0.8728 3rd Qu.: 0.9286 3rd Qu.: 0.6908 3rd Qu.: 0.8155
## Max. : 2.1486 Max. : 2.0317 Max. : 2.0300 Max. : 2.3327
## width_of_kernel asym_coeff length_of_Kernel_groove
## Min. :-1.67620 Min. :-1.95774 Min. :-1.8280
## 1st Qu.:-0.81868 1st Qu.:-0.75803 1st Qu.:-0.7595
## Median :-0.05894 Median :-0.05279 Median :-0.3892
## Mean : 0.00000 Mean : 0.00000 Mean : 0.0000
## 3rd Qu.: 0.79329 3rd Qu.: 0.72357 3rd Qu.: 0.9320
## Max. : 2.03133 Max. : 3.15435 Max. : 2.2938
sdf_scale_d <- dist(scale(sdf))
h_sdf<- hclust(sdf_scale_d)
plot(h_sdf)
plot(h_sdf, hang=-0.1, labels=sdf[["Species"]], cex=0.5)
seeds_dataset
## # A tibble: 210 × 8
## X1 X2 X3 X4 X5 X6 X7 X8
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
## 1 15.3 14.8 0.871 5.76 3.31 2.22 5.22 "1"
## 2 14.9 14.6 0.881 5.55 3.33 1.02 4.96 "1"
## 3 14.3 14.1 0.905 5.29 3.34 2.70 4.82 "1"
## 4 13.8 13.9 0.896 5.32 3.38 2.26 4.80 "1"
## 5 16.1 15.0 0.903 5.66 3.56 1.36 5.18 "1"
## 6 14.4 14.2 0.895 5.39 3.31 2.46 4.96 "1"
## 7 14.7 14.5 0.880 5.56 3.26 3.59 5.22 "1"
## 8 14.1 14.1 0.891 5.42 3.30 2.7 NA "5\t\t1"
## 9 16.6 15.5 0.875 6.05 3.46 2.04 5.88 "1"
## 10 16.4 15.2 0.888 5.88 3.50 1.97 5.53 "1"
## # ℹ 200 more rows
plot(h_sdf, hang=-0.1, labels= seeds_dataset[["x8"]], cex=0.5)
seeds_dataset_noNa <- na.omit(seeds_dataset)
c <- cutree(h_sdf,3)
c
## [1] 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 3 1 1 3 1 1 1 3 1 1 3 3 1 3 3 1 1 1 1 1 1 1
## [38] 3 1 1 3 2 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 3 3 3 3 3 3 1 1 1 3 2 2 2 2 2 2 2
## [75] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [112] 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 3 3 3 3 3 3 3 3 3 3 3 3
## [149] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [186] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
length(c)
## [1] 203
dim(seeds_dataset_noNa)
## [1] 203 8
#(cm <- table(c, iris$Species))
(cm <- table(c, seeds_dataset_noNa$X8 ))
##
## c 1 2 3
## 1 47 3 0
## 2 3 66 0
## 3 17 0 67
Error <- 100*(1-sum(diag(cm))/sum(cm))
Error
## [1] 11.33005
library(cluster)
silhouette(c, sdf_scale_d)
## cluster neighbor sil_width
## [1,] 1 2 0.56561761
## [2,] 1 3 0.55309821
## [3,] 1 3 0.43694439
## [4,] 1 3 0.45908198
## [5,] 1 2 0.41162037
## [6,] 1 3 0.52677927
## [7,] 1 3 0.48185361
## [8,] 2 1 0.13624375
## [9,] 2 1 -0.21466561
## [10,] 1 3 0.30134415
## [11,] 1 3 0.51513512
## [12,] 1 3 0.25421282
## [13,] 1 3 0.35544476
## [14,] 1 3 0.33573119
## [15,] 1 3 0.31716957
## [16,] 3 1 -0.14639586
## [17,] 1 2 0.49365970
## [18,] 1 3 0.40702732
## [19,] 3 1 0.21062077
## [20,] 1 3 0.32887993
## [21,] 1 3 0.48213755
## [22,] 1 2 0.46129990
## [23,] 3 1 -0.03411050
## [24,] 1 3 0.52096619
## [25,] 1 2 0.39057422
## [26,] 3 1 0.01868504
## [27,] 3 1 0.01440691
## [28,] 1 3 0.52891084
## [29,] 3 1 -0.10262616
## [30,] 3 1 -0.30412586
## [31,] 1 2 0.46910152
## [32,] 1 3 0.17479435
## [33,] 1 3 0.49120050
## [34,] 1 2 0.56798541
## [35,] 1 2 0.22050845
## [36,] 1 2 -0.03342152
## [37,] 1 3 0.55682348
## [38,] 3 1 0.01128868
## [39,] 1 3 0.42095724
## [40,] 1 3 0.43839995
## [41,] 3 1 -0.30417265
## [42,] 2 1 -0.13368928
## [43,] 1 2 0.51882503
## [44,] 1 3 0.45559991
## [45,] 1 2 0.56256520
## [46,] 1 3 0.58499272
## [47,] 1 3 0.59029457
## [48,] 1 3 0.54948137
## [49,] 1 3 0.38148811
## [50,] 3 1 -0.26983180
## [51,] 1 3 0.15752294
## [52,] 1 3 0.47606905
## [53,] 1 3 0.40099841
## [54,] 1 3 0.52054742
## [55,] 1 3 0.53280765
## [56,] 1 3 0.53575459
## [57,] 1 2 0.57108284
## [58,] 3 1 0.07851401
## [59,] 3 1 0.10236843
## [60,] 3 1 -0.02254411
## [61,] 3 1 0.06070588
## [62,] 3 1 -0.22790666
## [63,] 3 1 -0.20293244
## [64,] 1 3 0.53207648
## [65,] 1 3 0.43819954
## [66,] 1 3 0.52062362
## [67,] 3 1 0.28758612
## [68,] 2 1 0.48898539
## [69,] 2 1 0.30682520
## [70,] 2 1 0.37080692
## [71,] 2 1 0.50900791
## [72,] 2 1 0.31654385
## [73,] 2 1 0.23658971
## [74,] 2 1 0.32649260
## [75,] 2 1 0.54934205
## [76,] 2 1 0.54410011
## [77,] 2 1 0.16722413
## [78,] 2 1 0.24805975
## [79,] 2 1 0.46588215
## [80,] 2 1 0.55475422
## [81,] 2 1 0.48104385
## [82,] 2 1 0.58604946
## [83,] 2 1 0.51973020
## [84,] 2 1 0.44056105
## [85,] 2 1 0.51751302
## [86,] 2 1 0.49161044
## [87,] 2 1 0.52130001
## [88,] 2 1 0.50409434
## [89,] 2 1 0.55693810
## [90,] 2 1 0.58162330
## [91,] 2 1 0.40812420
## [92,] 2 1 0.41973227
## [93,] 2 1 0.35503167
## [94,] 2 1 0.60583497
## [95,] 2 1 0.48546102
## [96,] 2 1 0.47973139
## [97,] 2 1 0.51485663
## [98,] 2 1 -0.01079805
## [99,] 2 1 0.29205247
## [100,] 2 1 0.55166993
## [101,] 2 1 0.57946681
## [102,] 2 1 0.60245195
## [103,] 2 1 0.48323280
## [104,] 2 1 0.52326435
## [105,] 2 1 0.45968535
## [106,] 2 1 0.54169405
## [107,] 2 1 0.40919779
## [108,] 2 1 0.42536271
## [109,] 2 1 0.56307236
## [110,] 2 1 0.45849861
## [111,] 2 1 0.44097630
## [112,] 2 1 0.54334394
## [113,] 2 1 0.54136260
## [114,] 2 1 0.44850459
## [115,] 2 1 0.59528729
## [116,] 2 1 0.55160233
## [117,] 2 1 0.57674048
## [118,] 2 1 0.51220209
## [119,] 2 1 0.50857652
## [120,] 2 1 -0.02279853
## [121,] 2 1 0.42799736
## [122,] 1 2 0.39945748
## [123,] 2 1 0.53918926
## [124,] 2 1 0.54606898
## [125,] 2 1 0.37176956
## [126,] 2 1 0.50059231
## [127,] 2 1 0.26647885
## [128,] 2 1 0.40797413
## [129,] 2 1 0.54371263
## [130,] 2 1 -0.06226886
## [131,] 2 1 0.08228737
## [132,] 2 1 0.04710287
## [133,] 2 1 0.46795533
## [134,] 1 2 0.11398381
## [135,] 1 2 0.21008763
## [136,] 2 1 0.18293422
## [137,] 3 1 0.31758214
## [138,] 3 1 0.24881740
## [139,] 3 1 0.27369907
## [140,] 3 1 0.40399647
## [141,] 3 1 0.46606638
## [142,] 3 1 0.45069605
## [143,] 3 1 0.29242385
## [144,] 3 1 0.33090926
## [145,] 3 1 0.20861558
## [146,] 3 1 0.44554545
## [147,] 3 1 0.48416947
## [148,] 3 1 0.41189751
## [149,] 3 1 0.42748684
## [150,] 3 1 0.41373039
## [151,] 3 1 0.47615085
## [152,] 3 1 0.48698424
## [153,] 3 1 0.36964963
## [154,] 3 1 0.39008469
## [155,] 3 1 0.38075669
## [156,] 3 1 0.48126314
## [157,] 3 1 0.19254126
## [158,] 3 1 0.42652410
## [159,] 3 1 0.49668680
## [160,] 3 1 0.36244994
## [161,] 3 1 0.47167739
## [162,] 3 1 -0.03604177
## [163,] 3 1 0.44324383
## [164,] 3 1 0.34427763
## [165,] 3 1 0.48922647
## [166,] 3 1 0.46557763
## [167,] 3 1 0.50477019
## [168,] 3 1 0.51976537
## [169,] 3 1 0.44482035
## [170,] 3 1 0.47511245
## [171,] 3 1 0.52210032
## [172,] 3 1 0.50391368
## [173,] 3 1 0.50821741
## [174,] 3 1 0.05403590
## [175,] 3 1 0.48605434
## [176,] 3 1 0.32411093
## [177,] 3 1 0.44713450
## [178,] 3 1 0.49124753
## [179,] 3 1 0.33144839
## [180,] 3 1 0.42778346
## [181,] 3 1 0.43304063
## [182,] 3 1 0.49201400
## [183,] 3 1 0.40900101
## [184,] 3 1 0.43410603
## [185,] 3 1 0.51962345
## [186,] 3 1 0.45594449
## [187,] 3 1 0.18487207
## [188,] 3 1 0.49569765
## [189,] 3 1 0.34887861
## [190,] 3 1 0.12673563
## [191,] 3 1 0.25610043
## [192,] 3 1 -0.02940310
## [193,] 3 1 0.23528907
## [194,] 3 1 -0.19610387
## [195,] 3 1 0.42072184
## [196,] 3 1 0.39080759
## [197,] 3 1 0.23266977
## [198,] 3 1 0.35665830
## [199,] 3 1 0.16940247
## [200,] 3 1 0.49535367
## [201,] 3 1 0.18737074
## [202,] 3 1 0.41003108
## [203,] 3 1 0.38771760
## attr(,"Ordered")
## [1] FALSE
## attr(,"call")
## silhouette.default(x = c, dist = sdf_scale_d)
## attr(,"class")
## [1] "silhouette"
plot(silhouette(c, sdf_scale_d))
set.seed(1234)
d <- dist(scale(iris[,-5]))
methods <- c('complete', 'single', 'average')
avgS <- matrix( NA, ncol=3, nrow=5, dimnames=list(2:6, methods))
for (k in 2:6) {
for (m in seq_along(methods)){
h <- hclust(d, method = methods[m])
c <- cutree(h,k)
s <- silhouette(c,d)
avgS[k-1, m]=mean(s[,3])
}
}
avgS
## complete single average
## 2 0.4408121 0.5817500 0.5817500
## 3 0.4496185 0.5046456 0.4802669
## 4 0.4106071 0.4067465 0.4067465
## 5 0.3520630 0.3424089 0.3746013
## 6 0.3106991 0.2018867 0.3248248
feature_name <- c('area', 'perimeter', 'compactness', 'length_of_kernel', 'width_of_kernel',
'asym_coeff', 'length_of_Kernel_groove')