  Clustering is an unsupervised machine learning methodology where unlabeled
elements/objects are grouped together aiming to the construction of
well-established clusters that their elements are classified according to their
similarity. The goal of this process is to provide a useful aid to the
researcher that will help her/him to identify patterns among the data. Dealing
with large databases, such patterns may not be easily detectable without the
contribution of a clustering algorithm. This article provides a deep
description of the most widely used clustering methodologies accompanied by
useful presentations concerning suitable parameter selection and
initializations. Simultaneously, this article not only represents a review
highlighting the major elements of examined clustering techniques but
emphasizes the comparison of these algorithms' clustering efficiency based on 3
datasets, revealing their existing weaknesses and capabilities through accuracy
and complexity, during the confrontation of discrete and continuous
observations. The produced results help us extract valuable conclusions about
the appropriateness of the examined clustering techniques in accordance with
the dataset's size.
