Skip to content

The aim of our team was to use data from meetup.com to build a recommender system which will identify and suggest groups and activities to a member based on their interest and additional interests of similar members. Furthermore, a social network analysis was done to identify the relationship between groups and people.

reachsumit/MSCA-31005-database-class-project

Repository files navigation

Summary

“Meetup is a social networking website that aims to brings people together to do, explore, teach and learn the things that help them come alive.”

Meetup allows members to find and join groups unified by a common interest. As of 2017, there are 32 million users with 280 thousand groups available across 182 countries.

A member needs to be able to identify groups and activities which interest them the most to be able to use this platform to network effectively.

The aim of our team was to use this dataset to build a recommender system which will identify and suggest groups and activities to a member based on their interest and additional interests of similar members. Furthermore, a social network analysis was done to identify the relationship between groups and people.

Database EER diagram

EER diagram

Data Collection Method

  • Data was collected using Meetup API.
  • Python script was used to ping meetup API and collect responses as JSON objects.
  • Logical chunks of data were exported and saved as csv files.

Data Cleaning

  • Data is filtered to include only 3 cities' information (New York, San Francisco, Chicago).
  • Character encoding is normalized to ASCII characters across tables.

Data Analysis and Machine Learning

Suggest Groups to a Member

AIM: Identify users most similar to a given user in terms of interests in topics, search their group affiliations and suggest the same to the use
ALGORITHM: Content Based Collaborative Filtering using K-Nearest Neighbors Algorithm
The algorithm uses euclidean distances between the set point [User Vector] and all other points in the dataset, then sorts them to find the five nearest neighbors. Since our matrix is sparse, we use Brute force. Results

Suggest members to a Group Organizer

AIM: Identify groups similar to a particular group and recommend top 100 members to the group's organizer
ALGORITHM: Model Based Collaborative Filtering using SVD Matrix Factorization
The challenges related to sparsity of the matrix and growing nature of data for collaborative filtering is overcome by Matrix Factorization
Results

Discovering Best Venues

AIM: Propose the top 10 meetup venues in the vicinity of given co-ordinates.
Method: Taking co-ordinates as inputs, the algorithm plots ten of the highest rated meetup venues in the vicinity on an interactive map. Venue ratings were first normalised taking into account individual ratings and their count for each venue. The map was plotted using the Folium package on Python.
Results

Data Visualizations (using Tableau and Gephi)

Popularity of topics Trends within top topics Popularity of Groups Venue locations Social network analysis using gephi

About

The aim of our team was to use data from meetup.com to build a recommender system which will identify and suggest groups and activities to a member based on their interest and additional interests of similar members. Furthermore, a social network analysis was done to identify the relationship between groups and people.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •