Abstract
Until now, many algorithms have been introduced for finding arbitrary shaped clusters, but none of these algorithms is able to identify all sorts of cluster shapes and structures that are encountered in practice. Furthermore, the time complexity of the existing algorithms is usually high and applying them on large datasets is time-consuming. In this paper, a novel fast clustering algorithm is proposed. This algorithm distinguishes clusters of different shapes using a two-stage clustering approach. In the first stage, the data points are grouped into a relatively large number of fuzzy ellipsoidal sub-clusters. Then, connections between sub-clusters are established according to the Bhattacharya distances and final clusters are formed from the resulted graph of sub-clusters in the second stage. Experimental results show the ability of the proposed algorithm for finding clusters of different shapes.