Exploring Attributes of Dating Success

Avatar
Posted on Oct 20, 2018

Background:

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 dataset relating to observations collected from speed dating events, we hope to provide clarity into the dating situation via visualizations and statistical analyses.

Methodology:

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 shinyapps.io.

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' ).

Dashboard:

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.

 

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'. 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.

 

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

Avatar

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

Avatar
Raymond Liang October 23, 2018
Glad you enjoyed the post, Bernado! I've updated the post to include a link to the app: https://rayl1ang.shinyapps.io/shinySpeedDating/ Thanks for reading! Ray
Avatar
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: https://community.platform.matrixds.com/ 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: https://soloparadjs.com/calculadora-dj/ Glad you shared, Keep in touch BL PS: You are welcome: https://community-5a3184d2758e070001f7a9a0-5bc7a423c6f00267bda83fb1.platform.matrixds.com/Dating/ (improved code a bit)

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws 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 Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Classes Demo Day Demo Lesson Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet Lectures linear regression Live Chat Live Online Bootcamp Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Lectures Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking Realtime Interaction recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp