Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Raw <- read.csv("ptr_all_T.csv")
- dim(Raw)
- [1] 900 36
- Scale_Raw_Mat <- matrix(scale(Raw[,2:36]))
- #create som grid
- Scale_Raw_Mat_Grid = somgrid(xdim = 30, ydim=30, topo="hexagonal")
- #train som model
- Scale_Raw_Mat_Som = som(Scale_Raw_Mat, grid=Scale_Raw_Mat_Grid, rlen=100, alpha=c(0.05,0.01))
- #optomize the best number of clusters
- #gererate distance matrix for map lacation
- Dist_Map <- kohonen::unit.distances(Scale_Raw_Mat_Grid)
- #gererate distance matrix for codes
- Codes <- getCodes(Scale_Raw_Mat_Som)
- Dist_Codes <- as.matrix(dist(Codes))
- #exponentiate Euclidean distance by distance on map
- Dist_Exp <- Dist_Codes^Dist_Map
- #create plot to determine best number of clusters
- factoextra::fviz_nbclust(Dist_Exp, factoextra::hcut, method =
- "silhouette", hc_method = "ward.D2", k.max = 15)
- Clust_Exp = hclust(as.dist(Dist_Exp), 'ward.D2')
- Som_Cluster_Exp = cutree(Clust_Exp, 3)
- #create color for som mapping
- #plot som clusters om map
- plot(Scale_Raw_Mat_Som, type="mapping", keep.data==TRUE, bgcol = col_vector[Som_Cluster_Exp], pchs = NA)`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement