  The goal of this research project is to analyze the dynamics of social
networks using machine learning techniques to locate maximal cliques and to
find clusters for the purpose of identifying a target demographic. Unsupervised
machine learning techniques are designed and implemented in this project to
analyze a dataset from YouTube to discover communities in the social network
and find central nodes. Different clustering algorithms are implemented and
applied to the YouTube dataset. The well-known Bron-Kerbosch algorithm is used
effectively in this research to find maximal cliques. The results obtained from
this research could be used for advertising purposes and for building smart
recommendation systems. All algorithms were implemented using Python
programming language. The experimental results show that we were able to
successfully find central nodes through clique-centrality and degree
centrality. By utilizing clique detection algorithms, the research shown how
machine learning algorithms can detect close knit groups within a larger
network.
