Fundamental Clustering Problems Suite
The package provides over sixty state-of-the-art clustering algorithms for unsupervised machine learning published in .
The Fundamental Clustering Problems Suite (FCPS) summaries over sixty state-of-the-art clustering algorithms available in R language. An important advantage is that the input and output of clustering algorithms is simplified and consistent in order to enable users a swift execution of cluster analysis. By combining mirrored-density plots (MD plots) with statistical testing FCPS provides a tool to investigate the cluster tendency quickly prior to the cluster analysis itself . Common clustering challenges can be generated with arbitrary sample size . Additionally, FCPS sums 26 indicators with the goal to estimate the number of clusters up and provides an appropriate implementation of the clustering accuracy for more than two clusters . A subset of methods was used in a benchmarking of algorithms published in .
Install automatically with all dependencies via
install.packages("FCPS",dependencies = T)
# Optionally, for the automatic installation
# of all suggested packages:
=c("kernlab", "cclust", "dbscan", "kohonen",
Suggested"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(i in 1: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.
::install_github("Mthrun/FCPS") remotes
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 on CRAN:
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 to state-of-the-art clustering algorithms:
library(FCPS)
data("Leukemia")
=Leukemia$Distance
Data=Leukemia$Cls
Classification=6
ClusterNo=ADPclustering(Leukemia$DistanceMatrix,ClusterNo)
CA=ClusterRenameDescendingSize(CA$Cls)
ClsClusterPlotMDS(Data,Cls,main = ’Leukemia’,Plotter3D = ’plotly’)
ClusterAccuracy(Cls,Classification)
1] 0.9963899 [
Several clustering challenge can be generated with an arbitrary sample size:
set.seed(600)
library(FCPS)
=ClusterChallenge("Chainlink", SampleSize = 750,
DataListPlotIt=TRUE)
=DataList$Chainlink
Data=DataList$Cls
Cls> ClusterCount(Cls)
$CountPerCluster
$NumberOfClusters
$ClusterPercentages
1] 377 373
[1] 2
[1] 50.26667 49.73333 [
For many applications, it is crucial to decide if a dataset possesses cluster structures:
library(FCPS)
set.seed(600)
=ClusterChallenge("Chainlink",SampleSize = 750)
DataList=DataList$Chainlink
Data=DataList$Cls
Clslibrary(ggplot2)
ClusterabilityMDplot(Data)+theme_bw()
The “FCPS” package provides up to 26 indicators to determine the number of clusters:
library(FCPS)
set.seed(135)
=ClusterChallenge("Chainlink",SampleSize = 900)
DataList=DataList$Chainlink
Data=DataList$Cls
Cls=HierarchicalClustering(Data,0,"SingleL")[[3]]
TreeClusterDendrogram(Tree,4,main="Single Linkage")
=7
MaximumNumber<- matrix(data = 0, nrow = dim(Data)[1], ncol = MaximumNumber)
clsm for (i in 2:(MaximumNumber+1)) {
-1] <- cutree(Tree,i)
clsm[,i
}=ClusterNoEstimation(Data, ClsMatrix = clsm,
outMaxClusterNo = MaximumNumber, PlotIt = TRUE)
Authors website | http://www.deepbionics.org/ |
---|---|
License | GPL-3 |
Dependencies | R (>= 3.5.0) |
Bug reports | https://github.com/Mthrun/FCPS/issues |