FLAME clustering
Fuzzy clustering by Local Approximation of MEmberships (FLAME) is a data clustering algorithm that defines clusters in the dense parts of a dataset and performs cluster assignment solely based on the neighborhood relationships among objects. The key feature of this algorithm is that the neighborhood relationships among neighboring objects in the feature space are used to constrain the memberships of neighboring objects in the fuzzy membership space. Description of the FLAME algorithm The FLAME algorithm is mainly divided into three steps: Extraction of the structure information from the dataset: Construct a neighborhood graph to connect each object to its K-Nearest Neighbors (KNN); Estimate a density for each object based on its proximities to its KNN; Objects are classified into 3 types: Cluster Supporting Object (CSO): object with density higher than all its neighbors; Cluster Outliers: object with density lower than all its neighbors, and lower than a predefined threshold; the rest. Local/Neighborhood approximation of fuzzy memberships: Initialization of fuzzy membership: Each CSO is assigned with fixed and full membership to itself to represent one cluster; All outliers are assigned with fixed and full membership to the outlier group; The rest are assigned with equal memberships to all clusters and the