Data Visualization on Attributes of Dating Success
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
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 data set 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' ).
Data:
Gender
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.
Activities
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.
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).
Observations
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.