This project focuses on clustering users in social networks based on their interactions and features. The goal is to identify meaningful communities or groups of users with similar behaviors, which can be useful for recommendations, targeted marketing, and network analysis.
The core implementation is contained in the Jupyter Notebook Clustering.ipynb
, where different clustering techniques are applied and evaluated.
- Data Preprocessing: Cleaning and transforming the dataset for clustering.
- Feature Engineering: Creating meaningful features from raw social network data.
- Clustering Methods: Implementation of clustering algorithms such as K-Means, DBSCAN, and Agglomerative Clustering.
- Evaluation: Measuring clustering performance using silhouette score, Davies-Bouldin index, and visualization techniques.
To run this project, you need the following Python libraries:
pip install numpy pandas scikit-learn matplotlib seaborn networkx
- Clone the repository:
git clone https://github.com/Mehranalam/User-clustering-in-social-networks.git cd User-clustering-in-social-networks
- Open the Jupyter Notebook:
jupyter notebook Clustering.ipynb
- Run the cells step by step to preprocess the data, perform clustering, and visualize the results.
The notebook provides detailed visualizations and clustering analysis, including:
- Cluster distribution plots
- Network graphs
- Evaluation metrics comparison
- Improve feature selection for better clustering results.
- Experiment with deep learning-based clustering techniques.
- Apply clustering on larger-scale datasets.
- Mehran Alam
- GitHub: Mehranalam
This project is open-source and available under the MIT License.