FuzzyClusteringSimilarity
Code for Dirichlet Random Models for Fuzzy Rand Adjustment
Summary
Adjusted Normalized Degree of Concordance (ANDC) is a similarity measure between two fuzzy (or hard) clusterings. The value is in (-inf, 1]
, with 1 representing identical clusterings, and 0 representing the clusterings have the same agreement as "random" clusterings. The selection of "random" is required by the user, and four models are provided.
Functions
andc(matrix1::AbstractMatrix, matrix2::AbstractMatrix, model::String, oneSided=True, p::Int=1, q::Int=1)
Calculate the adjusted normalized degree of concordance of matrix1 and matrix2 using model to adjust for chance agreement. Available models are '"fit", "sym", "flat", "perm" '.
ndc(matrix1::AbstractMatrix, matrix2::AbstractMatrix, p::Int=1, q::Int=1)
Calculate the normalized degree of concordance of matrix1 and matrix2.
endc(matrix1::AbstractMatrix, matrix2::AbstractMatrix, model::String, oneSided=True, p::Int=1, q::Int=1)
Calculate the expected normalized degree of concordance of random matrices. Models for generating random matrices based on matrix1 and matrix2 are '"fit", "sym", "flat", "perm" '.
massageMatrix(matrix::AbstractMatrix)
Massage a matrix to enable julia's multiple dispatch. Matrix is formated with points as columns and clusters and rows. If matrix is a hard clustering the type is converted to Bool.