This Data Science project, implemented in Python 3, aims to study romantic dates using the Speed Dating database available on Kaggle. This database was created from data collected during speed dating events in the United States, where participants filled out questionnaires before and after the events.
The goal of this project is to predict whether two single individuals can form a couple based on their preferences, personality traits, and other demographic characteristics. To achieve this, we will use binary classification techniques to predict "yes" or "no" outcomes based on individual characteristics.
The project consists of three main steps:
-
Data preprocessing: In this step, we cleaned the data by removing missing values and replacing outliers. We also performed normalization of numerical variables and encoding of categorical variables.
-
Data visualization: This involves exploring the distribution of data through visualizations to better understand the data distribution and analyze the relationships between different features. This also helps determine the most appropriate type of model for the problem.
-
Model training: We used a machine learning model based on a Random Forest algorithm to predict a match based on different variables such as age, education level, personality, etc. We tuned the hyperparameters of the model to achieve the best possible performance. The model was evaluated using various metrics such as accuracy, recall, F1-score, etc.
Here are the steps to install the necessary dependencies and run the code for this project:
- Clone the GitHub.
- Make sure you have Python 3 installed on your system.
- Install the necessary Python libraries using the following command:
pip install -r requirements.txt
- Run the Jupyter notebooks or Python script files for the different steps of the project: preprocessing, visualization, and model training.
This project was carried out as part of a university project with @gui2L and @betacodd.
Ce projet de Data Science, réalisé en Python 3, vise à étudier les rendez-vous amoureux en utilisant la base de données Speed Dating disponible sur Kaggle. Cette base de données a été créée à partir de données collectées lors d'événements de speed dating aux États-Unis, où les participants ont rempli des questionnaires avant et après les événements.
L'objectif de ce projet est de prédire si deux personnes célibataires peuvent former un couple en se basant sur leurs préférences, leurs traits de personnalité et d'autres caractéristiques démographiques. Pour cela, nous allons utiliser des techniques de classification binaire pour prédire les résultats "oui" ou "non" en fonction des caractéristiques des individus.
Le projet est composé de trois grandes étapes :
-
Prétraitement des données : Dans cette étape, nous avons nettoyé les données en supprimant les valeurs manquantes et en remplaçant les valeurs aberrantes. Nous avons également effectué une normalisation des variables numériques et un encodage des variables catégorielles.
-
Visualisation des données : Il s'agit d'explorer la distribution des données à travers des visualisations pour mieux comprendre la distribution des données et analyser les relations entre les différentes features. Cela permet également de déterminer le type de modèle le plus adapté au problème.
-
Entraînement du modèle : Nous avons utilisé un modèle d'apprentissage automatique basé sur un algorithme de Random Forest pour prédire un match en fonction de différentes variables telles que l'âge, le niveau d'éducation, la personnalité, etc. Nous avons ajusté les hyperparamètres du modèle pour obtenir les meilleures performances possibles. Le modèle a été évalué à l'aide de différentes métriques telles que la précision, le rappel, la F1-score, etc.
Voici les étapes pour installer les dépendances nécessaires et exécuter le code de ce projet :
- Cloner le dépôt GitHub.
- Assurez-vous d'avoir Python 3 installé sur votre système.
- Installez les bibliothèques Python nécessaires à l'aide de la commande suivante :
pip install -r requirements.txt
- Exécutez les notebooks Jupyter ou les fichiers de script Python pour les différentes étapes du projet : preprocessing, visualisation et entraînement du modèle.
Ce projet a été réalisé dans le cadre d'un projet universitaire avec @gui2L et @betacodd.