Clustering analysis is a form of exploratory data analysis in which observations are grouped using a similarity measure. Grouping a set of similar objects have extensive applications in data science and machine learning tasks. We will introduce the concept of hard and soft clustering and go through an application of k-means based clustering.