Fundamental Clustering Problems Suite
The package provides over sixty state-of-the-art clusteringalgorithms for unsupervised machine learning published in.
The Fundamental Clustering Problems Suite (FCPS) summaries over sixtystate-of-the-art clustering algorithms available in R language. Animportant advantage is that the input and output of clusteringalgorithms is simplified and consistent in order to enable users a swiftexecution of cluster analysis. By combining mirrored-density plots (MDplots) with statistical testing FCPS provides a tool to investigate thecluster tendency quickly prior to the cluster analysis itself.Common clustering challenges can be generated with arbitrary sample size
. Additionally, FCPS sums 26indicators with the goal to estimate the number of clusters up andprovides an appropriate implementation of the clustering accuracy formore than two clusters
. A subset of methods was used in abenchmarking of algorithms published in
.
Install automatically with all dependencies via
install.packages("FCPS",dependencies = T)# Optionally, for the automatic installation# of all suggested packages:Suggested=c("kernlab","cclust","dbscan","kohonen","MCL","ADPclust","cluster","DatabionicSwarm","orclus","subspace","flexclust","ABCanalysis","apcluster","pracma","EMCluster","pdfCluster","parallelDist","plotly","ProjectionBasedClustering","GeneralizedUmatrix","mstknnclust","densityClust","parallel","energy","R.utils","tclust","Spectrum","genie","protoclust","fastcluster","clusterability","signal","reshape2","PPCI","clustrd","smacof","rgl","prclust","dendextend","moments","prabclus","VarSelLCM","sparcl","mixtools","HDclassif","clustvarsel","knitr","rmarkdown")for(iin1:length(Suggested)) {if (!requireNamespace(Suggested[i],quietly =TRUE)) {message(paste("Installing the package", Suggested[i]))install.packages(Suggested[i],dependencies = T) }}Please note, that dependecies have to be installed manually.
remotes::install_github("Mthrun/FCPS")Please note, that dependecies have to be installed manually.
Tools -> Install Packages -> Repository (CRAN) ->FCPS
The tutorial with several examples can be found on in the vignette onCRAN:
https://cran.r-project.org/web/packages/FCPS/vignettes/FCPS.html
The full manual for users or developers is available here:https://cran.r-project.org/web/packages/FCPS/FCPS.pdf
The package FCPS provides a clear and consistent access tostate-of-the-art clustering algorithms:
library(FCPS)data("Leukemia")Data=Leukemia$DistanceClassification=Leukemia$ClsClusterNo=6CA=ADPclustering(Leukemia$DistanceMatrix,ClusterNo)Cls=ClusterRenameDescendingSize(CA$Cls)ClusterPlotMDS(Data,Cls,main = ’Leukemia’,Plotter3D = ’plotly’)ClusterAccuracy(Cls,Classification)[1]0.9963899
Several clustering challenge can be generated with an arbitrarysample size:
set.seed(600)library(FCPS)DataList=ClusterChallenge("Chainlink",SampleSize =750,PlotIt=TRUE)Data=DataList$ChainlinkCls=DataList$Cls>ClusterCount(Cls)$CountPerCluster$NumberOfClusters$ClusterPercentages[1]377373[1]2[1]50.2666749.73333
For many applications, it is crucial to decide if a dataset possessescluster structures:
library(FCPS)set.seed(600)DataList=ClusterChallenge("Chainlink",SampleSize =750)Data=DataList$ChainlinkCls=DataList$Clslibrary(ggplot2)ClusterabilityMDplot(Data)+theme_bw()
The “FCPS” package provides up to 26 indicators to determine thenumber of clusters:
library(FCPS)set.seed(135)DataList=ClusterChallenge("Chainlink",SampleSize =900)Data=DataList$ChainlinkCls=DataList$ClsTree=HierarchicalClustering(Data,0,"SingleL")[[3]]ClusterDendrogram(Tree,4,main="Single Linkage")MaximumNumber=7clsm<-matrix(data =0,nrow =dim(Data)[1],ncol = MaximumNumber)for (iin2:(MaximumNumber+1)) {clsm[,i-1]<-cutree(Tree,i)}out=ClusterNoEstimation(Data,ClsMatrix = clsm,MaxClusterNo = MaximumNumber,PlotIt =TRUE)
| Authors website | http://www.deepbionics.org/ |
|---|---|
| License | GPL-3 |
| Dependencies | R (>= 3.5.0) |
| Bug reports |