Data Visualization on Attributes of Dating Success

Posted on Oct 20, 2018
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.


For some people, dating might be intuitive and even second nature, but for others the idea of landing a date might appear to be a somewhat convoluted topic. Using a data set relating to observations collected from speed dating events, we hope to provide clarity into the dating situation via visualizations and statistical analyses.


A dataset provided on Kaggle was used for the visualizations of our Shiny Dashboard. The raw data included many NA values, so we needed a method to clean them up so that various analyses can be performed later. To tackle the missing values, we imputed those values from the mean of the existing data in their corresponding columns.

Furthermore, the final dataset that ended up being used was subsetted to a smaller number of columns of the raw data. The Kaggle dataset can be found here and the subsetted dataset is posted on my Github page with the name of "SD_clean.csv". The actual app itself is also hosted on

In addition to the missing values, there were also columns where numeric values represented certain categories. As such, they needed to be transposed back to the actual categories values so the visualizations can be more meaningful (eg, changing 0 and 1 from gender column to their respective string equivalent of 'Female' and 'Male' ).



Data Visualization on Attributes of Dating Success

Upon arriving at the dashboard, a user has the option to select a gender dropdown menu that he/she would like to inspect the data for. If 'Female' was selected, the dashboard will update the visualizations to show aggregated data from female responses in our dataset.


Data Visualization on Attributes of Dating Success

On the activities tab, value boxes were placed to rank the top 3 activities from the average scores given by each gender. We can see that females ranked 'Movies', 'Dining' and 'Music' the highest on average giving them respective scores of 8.15, 8.14 and 8.05.Β  Males also enjoyed the same activities on average, but ranked 'Music' highest, followed by 'Movies' then 'Dining'.

Average Scores

A horizontal bar chart was also created to provide more details on the average scores given to additional activities. This chart helps to answer the question of what kind of activities to engage in on dates or on the flipside, what kind of activities one might want to avoid on dates. For example, we can see from our average male responses that 'Sports' is ranked 5th place, but for females the same category ranks 5th from last.


Data Visualization on Attributes of Dating Success

Frequency on Outdoor Activities vs Dates

Next, we want to visualize the relationships between the frequency of one who engages in outdoor activities vs the frequency of one who goes out on dates. A facetted scatterplot by gender was used to produce this visualization. The pattern is clear in both genders that the more outgoing a person is, the more dates one gets (notice that the scale ranges represents categorical values ranging from 1 being the most frequent to 7 being the least frequent).



More granular details can be found on the "details" tab with a similar scatter plot, but grouped by careers. Here, we have selected females who work in the financial industry as an example, and we can get a sense of how outgoing they are and how frequent they go on dates.

If we were to categorize the scale by grouping 1-3 as 'frequent' and 4-7 as 'not frequent', we can see that business women are quite outgoing (the scale does not even go beyond 3). However, they do not date very frequently as we can see from the density distribution on the right hand side of the graph. Most responses tends to be 4-7 when asked about how often they go on dates.


Lastly, on the calculator tab, a user has the option to rate themselves for various attributes by selecting scores of 1-10Β  from a drop-down menu. Clicking the calculate button will run a predict function of the independent variables against a logistic regression model. From our dataset, we chose the response variable "decision" which is defined as whether or not a participant of the speed dating event has chosen to date a particular prospect.

The independent variables that were chosen were attributes of a specific prospect such as "Attractiveness, Sincerity, Intellect, Fun, Ambitious and Shared Interest/Hobbies". From here, the data was separated by gender and further subsetted to test and training data with a ratio of 50:50 to validate the model. Upon clicking the calculate button, the user can also observe a spider chart based on their attribute inputs.

Limitations and caveats:

Due to the limitations in the dataset, the visualizations in the dashboard can only produce results for 'male' and 'female'. In today's world, it is important to be as inclusive as possible, and it would be great to have an 'other' selection for sexual preference. Additionally, the model created with logistic regression might include bias, as the scores given to the attributes by the speed dating participants are subjective to their own personal preferences.

Given more time and resources, I would also like to incorporate analyses pertaining to a participant's onsite result vs offsiteΒ results (eg, followup questionaires) to compare if the event has any effect on the responses they give.

About Author

Raymond Liang

Raymond Liang is an aspiring data scientist currently studying with the NYC Data Science Academy. Through the 12 week intensive course, Raymond is able to apply advanced data manipulation and visualization techniques using languages including, but not limited...
View all posts by Raymond Liang >

Leave a Comment

Raymond Liang October 23, 2018
Glad you enjoyed the post, Bernado! I've updated the post to include a link to the app: Thanks for reading! Ray
Bernardo Lares October 22, 2018
Hello. Really enjoyed this post. Wanted to do something quite similar since I saw Black Mirror last year! I've got a quick suggestion: you could host this app so we readers can play with it, for free, with MatrixDS: It's a Data Scientists community and they offer 4 tools (Rstudio, Shiny, Jupyter...) 24/7 for free to its users. I personally use it for my shiny app on DJs incomes per hour: Glad you shared, Keep in touch BL PS: You are welcome: (improved code a bit)

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI