Files
ENI-Hotel/IA et Python - TP Final.ipynb
2025-09-22 09:31:32 +02:00

140 lines
6.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "b5c4db02",
"metadata": {},
"source": [
"# TP de Synthèse : Intelligence Artificielle avec Python\n",
"\n",
"L'objectif de ce TP est de faire une synthèse de toutes les notions que vous avez vu sur l'ensemble du cours IA & Python.\n",
"\n",
"À partir d'un jeu de donnée imposé, vous allez devoir proposer une analyse détaillée, et produire des modèles prédictifs avec les meilleures performances possibles.\n",
"\n",
"## À votre disposition :\n",
"- Un fichier `Hotel Reservations.csv` contenant les données à analyser, avec pour chaque donnée la valeur de la classe à prédire\n",
"- Un fichier `Donnees_Test.csv` de test, comprenant des données sans la valeur de la classe\n",
"- Ce notebook, contenant toutes vos instructions, ainsi qu'une description du _Dataset_\n",
"\n",
"## Méthode de travail :\n",
"Ce travail peut-être effectué seul, ou en groupe de 2 personnes.\n",
"\n",
"## Rendus attendus :\n",
"- Un notebook comprenant votre analyse détaillé du _Dataset_, et la construction de vos modèles prédictifs\n",
"- Un fichier CSV, avec sur chaque ligne votre prédiction de classe pour la ligne correspondante dans le fichier de test (`Donnees_Test.csv`).<br/>Ce fichier doit être nommé `NOM_Prénom_.csv` ou `NOM1_NOM2.csv` (si binôme), et ne contient qu'une info par ligne : soit `Canceled`, soit `Not_canceled`.\n",
"\n",
"## Évaluation :\n",
"- Lorsque tous les groupes auront rendu leur fichier csv, le formatteur fera tourner un script, pour identifier le groupe ayant produit le modèle avec le meilleur résultat sur le jeu de test.\n",
"- Vous devrez fournir vos notebook à un autre groupe de la classe, et relire le notebook d'un autre groupe, pour lui faire un retour sur la qualité de l'analyse de ses données."
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "c337a623",
"metadata": {},
"source": [
"## Description des données\n",
"\n",
"Les données à votre disposition décrivent les informations des clients de réservations de chambres d'hôtels.\n",
"\n",
"L'objectif est de détermine, pour chaque client, s'il risque d'annuler sa réservation.\n",
"\n",
"Vous avez à votre disposition les attributs suivants :\n",
"\n",
"- `Booking_ID`: identifiant unique de chaque réservation\n",
"- `no_of_adults`: nombre d'adultes dans la réservation\n",
"- `no_of_children`: nombre d'enfants dans la réservation\n",
"- `no_of_weekend_nights`: nombre de nuits en weekend (samedi ou dimanche) incluses dans la réservation\n",
"- `no_of_week_nights`: nombre de nuits de semaine (lundi au vendredi) incluses dans la réservation\n",
"- `type_of_meal_plan`: choix de formule repas\n",
"- `required_car_parking_space` : indique une réservation de place de parking (0 : non, 1 : oui)\n",
"- `room_type_reserved`: type de chambre réservé\n",
"- `lead_time` : nombre de jours entre la date de réservation et la date d'arrivée\n",
"- `arrival_year` : année de la date d'arrivée\n",
"- `arrival_month`: mois de la date d'arrivée\n",
"- `arrival_date`: jour de la date d'arrivée\n",
"- `market_segment_type`: désignation du segment marketing\n",
"- `repeated_guest` : indique s'il s'agit d'un client fréquent (0 : non, 1 : oui)\n",
"- `no_of_previous_cancellations` : nombre d'annulation déjà faite par ce client sur d'autres réservations\n",
"- `no_of_previous_bookings_not_canceled`: nombre de réservations déjà faites sans annulations\n",
"- `avg_price_per_room`: prix moyen journalier de la réservation (en euros)\n",
"- `no_of_special_requests`: nombre total des requêtes spécifiques du client (étage, vue, ...)\n",
"- `booking_status` : indique si la réservation a été annulée ou non (=classe à prédire !)"
]
},
{
"cell_type": "markdown",
"id": "fd06441e",
"metadata": {},
"source": [
"## Les questions auxquelles vous devez répondre\n",
"\n",
"Nous vous proposons ci-après une liste de questions à vous poser.\n",
"Il ne s'agit pas d'une obligation, ni d'une liste exhaustive, mais elles doivent vous permettre de vérifier un certains nombre de points de votre analyse.\n",
"\n",
"_N.B. : N'oubliez pas de vous appuyer dès que possible sur des représentations graphiques parlantes, et sur des statistiques précises._\n",
"\n",
"1. Combien d'attributs ?\n",
"1. Combien de données ?\n",
"1. Combien de classes ?\n",
"1. Quelle répartition entre les classes ?\n",
"1. Valeurs manquantes ?\n",
"1. Quelle répartition des valeurs sur chaque attribut ?\n",
"1. Quelle caractérisation de chaque attribut ?\n",
"1. Corrélation entre certains attributs ?\n",
"1. Nettoyage des données nécessaire ?\n",
"1. Transformation des données ?\n",
"1. Normalisation ?\n",
"1. Quelle(s) forme(s) d'apprentissage ?\n",
"1. Quels algorithmes privilégier ?\n",
"1. Quelles performances privilégier ?\n",
"1. Comment améliorer les performances initiales ?\n",
"1. Comment choisir les paramètres des algorithmes ?"
]
},
{
"cell_type": "markdown",
"id": "7dcbd94f",
"metadata": {},
"source": [
"## Considérations supplémentaires\n",
"\n",
"Il vous est également demandé de réfléchir aux questions suivantes :\n",
"1. Quelle valeur ajoutée pourrait apporter vos analyses et votre algorithme aux hôtels ?\n",
"1. À quels aspects législatisf devriez-vous prendre garde ?\n",
"1. Votre algorithme pourrait-il être utilisé à mauvais escient ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "2a7899ae",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}