Vous êtes sur la page 1sur 55

École Nationale Supérieure d’Informatique et d’Analyse

des Systèmes

PROJET de Fin de Deuxième Année

Simulation de la Gestion
Prévisionnelle du Personnel

Réalisé par: Encadrant:


BATRANI Zohore Mr ELMNOUAR Abdellah
OUALY Aymane

2021/2022
Contents

1 Contexte du projet 1
1.1 Mise en contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problématique et motivation . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Cahier de charges et Objectifs . . . . . . . . . . . . . . . . . . 2

2 Analyse et spécification des besoins 3


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Objectif et cible de l’application web . . . . . . . . . . . . . . . . . . 3
2.3 Fonctionnalités générales . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.1 Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3.2 Back-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Conception 7
3.1 Conception de la plat-forme . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . 8
3.1.3 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.4 Diagramme des séquences . . . . . . . . . . . . . . . . . . . . 9
3.2 Conception du Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 La méthode CRISP-DM . . . . . . . . . . . . . . . . . . . . . 11

4 Réalisation et Résultats 14
4.1 Outils de réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1 Outils de mise en oeuvre . . . . . . . . . . . . . . . . . . . . . 14
4.2 Réalisation de la plat-forme . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 Espace administrateur . . . . . . . . . . . . . . . . . . . . . . 23
4.2.2 Espace employé . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.3 Explication des chartes du tableau de bord . . . . . . . . . . . 31
4.3 Réalisation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.1 Compréhension de la problématique . . . . . . . . . . . . . . . 33
4.3.2 Compréhension des données . . . . . . . . . . . . . . . . . . . 33
4.3.3 Préparation des données . . . . . . . . . . . . . . . . . . . . . 36
4.3.4 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.5 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 Conclusion 47
List of Figures

1.1 image symbolisant le travail collectif . . . . . . . . . . . . . . . . . . 1

3.1 cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


3.2 diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 étape de la méthodologie CRISP-DM . . . . . . . . . . . . . . . . . . 11

4.1 logo HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14


4.2 logo CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 logo mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 logo bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5 logo java script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6 logo php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.7 logo Tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.8 python: logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.9 pandas: logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.10 Numpy: logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.11 scikit learn: logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.12 page d’acceuil de ENSIASRH . . . . . . . . . . . . . . . . . . . . . . 20
4.13 formulaire de dépôt de candidature . . . . . . . . . . . . . . . . . . . 21
4.14 inscription des employés . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.15 espace du responsable RH . . . . . . . . . . . . . . . . . . . . . . . . 23
4.16 modification des données de l’administrateur . . . . . . . . . . . . . . 23
4.17 ajout des réunions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.18 listes des demandes de travail des candidats . . . . . . . . . . . . . . 25
4.19 ajouter des annonces . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.20 traiter les demandes de congé . . . . . . . . . . . . . . . . . . . . . . 27
4.21 tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.22 espace employé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.23 demande de congé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.24 consultation des annonces . . . . . . . . . . . . . . . . . . . . . . . . 30
4.25 tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.26 consultation des annonces . . . . . . . . . . . . . . . . . . . . . . . . 32
4.27 capture de quelques lignes de la table . . . . . . . . . . . . . . . . . . 33
4.28 les types des champs de la base de données . . . . . . . . . . . . . . . 34
4.29 table résumant les valeurs manquantes . . . . . . . . . . . . . . . . . 35
4.30 les champs à valeurs manquantes . . . . . . . . . . . . . . . . . . . . 36
4.31 compte des valeurs de la colonnes "education" . . . . . . . . . . . . . 36
4.32 affichage du length of service . . . . . . . . . . . . . . . . . . . . . . . 36
4.33 les champs à coder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.34 résultat de l’encodage des données . . . . . . . . . . . . . . . . . . . . 37
4.35 résultat du scaling des données . . . . . . . . . . . . . . . . . . . . . 38
4.36 premier rapport de classification . . . . . . . . . . . . . . . . . . . . . 39
4.37 premier rapport de classification . . . . . . . . . . . . . . . . . . . . . 40
4.38 importance des attributs . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.39 nouvelles données d’apprentissage . . . . . . . . . . . . . . . . . . . . 42
4.40 mesure des paramètres après la sélection . . . . . . . . . . . . . . . . 43
4.41 rapport de classification du XGBoost . . . . . . . . . . . . . . . . . . 44
4.42 matrice de confusion du modèle choisi . . . . . . . . . . . . . . . . . . 45

1
Remerciements

Les travaux de ce projet ont été effectuées, à l’école nationale d’informatique


et d’analyse de systèmes. Nous remercions par l’occasion professeur
ELMNOUAR Abdellah d’avoir mis à notre disposition les connaissances
nécessaires pour mener à bien ce travail.
Sans sa rigueur scientifique, les nombreux échanges de vue fructueux
que nous avons eue, ce travail n’aurait pu être mené à bien. Nous avons
été très sensibles à ses qualités humaines et à l’atmosphère dans laquelle
nous avons travaillé qui nous ont permis d’être motivé pendant toute la
durée de ce travail. Qu’il trouve l’expression de notre profonde recon-
naissance.

Nous remercions vivement Mr. JANATI Mohamed coordinateur de la


filière e-Management et Business Intelligence. Il trouve ici l’expression
de toute notre gratitude.
Nous tenons à remercier les membres du jury pour leur présence, pour
leur lecture attentive, ainsi que pour les remarques qu’ils nous adresseront
lors de la soutenance afin d’améliorer notre travail.
Résumé

Le but de ce projet est d’assurer la gestion prévisionnelle du personnel d’une en-


treprise de manière moderne et plus rapide, en exploitant les notions de développent
de site Web, notamment les langages de programmations tel que HTML et PHP, les
notions de gestion des bases de données. Aussi, nous nous appuyions sur les con-
naissances acquis lors des séances du module d’intelligence artificielle du semestre
3.
Cela nous mène à la proposition de deux solutions: La conception d’une plate-
forme qui permet aux responsables de ressources humaines la gestion du
personnel de l’entreprise, et la conception d’un modèle de classification
des profils des employés comme apte à la promotion ou pas encore. Les
deux solutions sont censées être complémentaires grâce à la base de donnée du site
web. Pour le moment nous utilisons en attendant que la base d’origine soit rem-
plies.
Ce document est la synthèse des travaux que nous avons menés pour atteindre
nos objectifs. Ainsi, nous présentons en premier lieu le contexte de la gestion des
ressources humaines. Ensuite, nous détaillons la phase de conception des solutions
proposées. Finalement nous A travers ce rapport nous verrons plus en détail les
étapes suivies ainsi que les outils et techniques utilisés pour mener à bien ce projet.
Abstrait

The purpose of this project is to ensure the forward management of a company’s


personnel in a modern and faster way, by exploiting the notions of website devel-
opment, in particular programming languages such as HTML and PHP, the notions
of management databases. Also, we relied on the knowledge acquired during the
sessions of the artificial intelligence modules of semester 3.
This leads us to the proposal of two solutions: The design of a platform that
allows human resource managers to manage the company’s personnel, and
The design of a classification model employee profiles as suitable for pro-
motion or not yet. The two solutions are supposed to be complementary thanks
to the database of the website. For the moment we use while waiting for the original
base to be filled.
This document is a summary of the work we have carried out to achieve our objec-
tives. Thus, we first present the context of human resource management. Then, we
detail the design phase of the proposed solutions. Finally we Through this report
we will see in more detail the steps followed as well as the tools and techniques used
to carry out this project.
Keywords: AI, CSS, HTML, HR, MYSQL, MACHINE LEARNING,
PHP, RANDOM FORESTS, XGBoost
Introduction

La gestion prévisionnelle du personnel consiste à projeter, dans le moyen et le


long terme, les besoins en ressources humaines d’une entreprise. Elle doit permettre
la prise de décision, et selon une logique cohérente, l’adéquation entre la stratégie
définie et les besoins humains inhérents à cette stratégie.
D’où, il est devenu nécessaire de disposer d’outils permettant de contribuer à la
performance de l’entreprise et de renforcer sa compétitivité et sa rentabilité.
Actuellement, l’informatique représente l’outil incontournable pour répondre à ce
besoin, et précisément le développement WEB et l’intelligence artificielle.
Le développement web est peut-être le domaine le plus populaires de l’informatique.
C’est le travail impliqué dans le développement d’un site Web public ou privé. Le
développement Web peut aller du développement d’une simple page statique de
texte brut à des applications Web complexes, des entreprises électroniques et des
services de réseaux.
L’intelligence artificielle (IA) est un processus d’imitation de l’intelligence humaine
qui repose sur la création et l’application d’algorithmes exécutés dans un environ-
nement informatique dynamique. Son but est de permettre à des ordinateurs de
penser et d’agir comme des êtres humains. C’est un domaine scientifique à plusieurs
catégorie, Nous en détaillons l’apprentissage automatique.
L’apprentissage automatique, également appelé apprentissage machine ou apprentis-
sage artificiel et en anglais machine learning, est une forme d’intelligence artificielle
(IA) qui permet à un système d’apprendre à partir des données et non à l’aide d’une
programmation explicite.
Dans ce sens, nous utilisons les techniques de développement WEB et d’apprentissage
automatique pour proposer deux solutions informatiques à la gestion prévisionnel
du personnel chez une entreprise.
Ce document contient trois chapitres importants. Le premier est consacré à la
présentation générale contexte du projet. Le chapitre suivant détaille la conception
des deux solutions, les outils utilisés et la méthodologie suivie pour la conception
du modèle intelligent. Enfin, nous consacrons le troisième chapitre à la réalisation
et aux résultats du projet mené.
Chapter 1

Contexte du projet

Introduction
Cette partie est dédiée à la présentation de contexte général du projet.

1.1 Mise en contexte


La gestion des ressources humaines joue un rôle clé au sein des organisations. Elle
désigne le système permettant de gérer et accompagner le développement des person-
nes travaillant au sein d’une entreprise. La mission la plus importante des services
et fonctions de ressources humaines est de cultiver un capital humain épanoui et
efficace.

Figure 1.1: image symbolisant le travail collectif

1
1.2 Problématique et motivation
L’importance de la gestion du personnelle grandi avec le développement de l’entreprise.
De plus le processus de gestion du personnel prend du temps et exige la disposition
des tableaux de bord dynamiques et de mesures utiles afin de faciliter le processus
de prise de décision.
Par conséquent, la création d’un tableau de bord RH totalement transparent est
devenue cruciale.
En effet, il est nécessaire de fournir un outil général et efficace pour intégrer toutes
les parties de l’entreprise dans son évolution.
Ainsi, nous présentons dans ce rapport deux propositions pour résoudre ce problème
: la création d’une application web visant à fournir des tableaux de bord RH, et
la conception d’un modèle intelligent qui détermine les profils à promouvoir en se
basant sur une base de données.

1.2.1 Cahier de charges et Objectifs


L’objectif est de fournir aux responsables des RH et aux employés une vue dy-
namique et transparente sur les principales mesures des RH, et de faciliter la pro-
motion des employés.
Pour atteindre ce but, notre site Web doit atteindre les objectifs suivants:

• Donner aux employés la possibilité de suivre leurs informations de présence et


ainsi que les RH et les managers de suivre les employés.

• Donner l’opportunité aux RH de garder la trace de l’état du personnel de façon


dynamique pour une meilleure organisation future.

Quant à la deuxième partie, le modèle doit être capable de classifier les employés en
deux classes, une classe de profils qui peuvent être promus, et une autre classe des
employés qui ne sont pas encore prêts.

Conclusion

Ce chapitre était dédié à la présentation du projet web. Le prochain chapitre


étudiera le fonctionnement du système.

2
Chapter 2

Analyse et spécification des besoins

2.1 Introduction
La spécification est la première étape dans un projet. Cette étape est déterminante
pour le bon déroulement du projet. Elle consiste à connaître et analyser de près
le travail demandé et les différents problèmes qu’on peut rencontrer, de point de
vue organisationnel et structurel. Nous commencerons dans la première partie par
une présentation de la spécification générale de notre projet de point de vue besoins
fonctionnels et non fonctionnels.

2.2 Objectif et cible de l’application web


L’objectif principal "ENSIASRH " est de faciliter la Gestion RH et de connaitre tout
ce qui concerne le déroulement du travail dans l’entreprise . En effet, la plateforme
de la GRH est un outil qui permet :
• de gérer les employés par leurs profils ;
• de diffuser des annonces aux employés ;
• de planifier des réunions;
• de gérer le congé des employé ;
• d’avoir une vision générale sur l’entreprise à l’aide d’un tableau de bord dynamique;
• réception des demandes des candidatures ;

2.3 Fonctionnalités générales


2.3.1 Front-End
Besoins fonctionnels
Notre application doit contenir :

Pour les Employés :

3
• Une page de profil :
Une page de profil qui contient les information et le Curriculum Vitae de
chaque employé.

• Une page de la modification :


Une page pour modifier les informations de chaque employé.

• Une page d’authentification :


Une page d’authentification pour chaque utilisateur que ça soit un salarié ou
un administrateur.

• Une page d’ajout une demande de congé :


Une page pour ajouter une demande de congé.

• Une page qui affiche les annonces :


Une page pour savoir les annonces diffuser par l’administrateur.

Pour Admin:

• Une page de profil : Une page de profil qui contient des information sur admin
avec la possibilité de la modifier .

• Une page de listes des employés: Une page qui contient une liste des employés
avec la possibilité de modifier les informations.

• Une page pour traiter les demande de congés: Accepter ou refuser une demande
de congés.

• Une page pour diffuser des annonces aux employés.

• Une page pour organiser des réunions avec les employés.

• Une page contient un tableau de bord : Un tableau de bord contient des statis-
tiques concernes les ressources humaines et leur performances dans l’entreprise.

• Une page de recrutement : Une page qui contient la liste des candidats et leur
informations (CV. . . ) .

Pour les demandes des congés:

• Une page des demandes envoyés : Une page qui contient une liste des demandes
déja envoyeés et qui sont soit approuvées , pas encore traitées ou refusées .

• Une page d’ajout une demande de congé : Une page pour ajouter une demande
de congé.

Pour les candidatures ::

• Une page des demandes d’occupation de poste : Une page qui contient un for-
mulaire qu’un candidats peut la remplir pour poser leur demande d’occupations.

4
Besoins non fonctionnels
Notre Front-End doit respecter les critères suivants :

• Des couleurs homogènes : Notre Front-End doit avoir des couleurs homogènes
qui donne une interface élégante.

• Compatibilité : Notre application doit être compatible avec la machine de


l’utilisateur, ainsi son screen résolution c’est- à-dire soit il est sur sa tablette
ou son pc ou son smartphone.

2.3.2 Back-End
Besoins fonctionnels
Les besoins fonctionnels sont les besoins spécifiant un comportement d’entrée/sortie
du système. Notre application doit permettre de :
Gérer le compte :
• S’inscrire : cette application permet de s’inscrire en remplissant un formulaire
qui fournira vers la fin un login et mot de passe.

• S’authentifier : permet d’accéder au compte crée après la vérification des don-


nées.

• Mettre à jour profil : permet aux utilisateurs de supprimer, ajouter et modifier


leurs informations per- sonnelles.

• Ajouter des documents :permet aux utilisateurs d’ajouter leurs photo de profil
et leurs Curriculum Vitae.

• Consulter profil : on peut consulter les coordonnées personnelles.


Gérer les employés :
• Consulter le profil et les demandes de congés : permet aux employés de con-
sulter et voir leurs profils et les demandes de congés qui sont déja envoyées
.

• Demander un congé : permet aux employés de demander des jours de congés.

• Gérer compte : permet aux employés de gérer leurs comptes.


Gérer les administrateurs :
• Consulter profil : permet aux administrateurs de consulter et voir leurs profils
.

• Ajouter des employés : permet d’ajouter des employés. les demandes de congés
: permet aux administrateurs de valider ou refuser la demande de congé pour
chaque employé .

• Gérer compte : permet aux administrateurs de gérer leur compte.

5
Besoins non fonctionnels
Ce sont des exigences qui ne concernent pas spécifiquement le comportement du
système, mais plutôt identi- fient des contraintes internes et externes du système.
Les principaux besoins non fonctionnels de notre application se résument dans les
points suivants :

Maintenabilité :
Le code doit être compréhensible par simple lecture, notamment en respectant les
règles de gestion et les normes de développement.

Capacité fonctionnelle et convivialité :


Les composants développés doivent respecter les spécifications fournies. Le système
doit être facilement utilisable et qu’il dispose d’interfaces conviviales.

Compatibilité :
Notre application doit être compatible avec la machine de l’utilisateur, ainsi son
screen résolution c’est- à-dire soit il est sur sa tablette ou son pc ou son smartphone.

Sécurité :
Chaque utilisateur, pour accéder à l’application, est obligé de s’authentifier par un
nom d’utilisateur et un mot de passe. Il ne pourra accéder qu’aux pages qui lui sont
permises par son profil ou les droits d’accès qui lui sont affectés par l’administrateur.

2.4 Conclusion
Dans ce chapitre, nous étions concentrés dans un premier temps sur le contexte
général de notre application ainsi que la problématique posée et aussi nous avons
présenté les objectifs et les cibles de notre application puis nous avons déterminé les
besoins que l’application doit satisfaire. Ces besoins vont être la base sur laquelle
nous allons réaliser la conception de notre application.

6
Chapter 3

Conception

Introduction:
Nous avons conçu deux solutions pour répondre à la problématique de notre projet.
La première solution consiste à développer une plat-forme qui permet aux respons-
ables de ressources humaines la gestion du personnel de l’entreprise grâce à plusieurs
espaces.
Quant à la deuxième solution, nous utilisons la technique d’apprentissage automa-
tique supervisé du domaine d’intelligence artificielle pour concevoir un modèle de
prédiction de la promotion des employés.
Ce chapitre détaille la démarche suivi et les outils utilisés pour la conception des
deux solutions.

3.1 Conception de la plat-forme


Introduction
Dans cette partie, nous allons analyser et modéliser les besoins du client avec
le langage UML. C’est une étape très importante pour le développement de notre
application parce qu’elle permet non seulement une vision globale de la plateforme
en ligne mais aussi de présenter de façon simple tous les éléments nécessaires pour
son bon fonctionnement. Nous allons présenter la conception qui permet de bien
clarifier les idées proposées dans le cahier de charge, de présenter les diagrammes
nécessaires pour notre travail et nous expliquerons l’architecture globale de notre
application à travers ces diagrammes.

3.1.1 UML
UML, c’est l’acronyme anglais pour « Unified Modeling Language », qui se traduit
par Langage de Modé- lisation Unifié, est un langage de modélisation graphique. Il
est utilisé pour la conception et la représentation visuelle de tous types de système
informatique

7
3.1.2 Diagramme de cas d’utilisation
Les diagrammes de cas d’utilisation permettent de décrire le comportement du sys-
tème d’un point de vue utilisateur. Ils permettent aussi de structurer les besoins
des utilisateurs et les objectifs du système .
Le diagramme ci-dessous représente les cas d’utilisation générales de l’application
qui résume les fonction- nalités du système et leurs interactions avec les acteurs.

Figure 3.1: cas d’utilisation

8
3.1.3 Diagramme de classe

Figure 3.2: diagramme de classe

3.1.4 Diagramme des séquences


Ce scenario est déclenché par l’administrateur . Un formulaire s’affiche en premier
lieu contenant le pseudo et le mot de passe, âpres l’envoi de la requête le système
vérifie le pseudo et le mot de passe dans la base de données, si ils sont conforme le
contrôle s’active sinon le système affiche une interface indiquant que le mot de passe
est invalide.

9
Figure 3.3: diagramme de classe

10
Conclusion
La modélisation d’un système avant sa réalisation permet de mieux comprendre
son fonctionnement interne. L’analyse est l’étape la plus importante et la plus
difficile de la modélisation. Elle permet de modéliser le domaine d’application,
d’analyser les contraintes de réalisation. Elle s’effectue par une abstraction et une
séparation des problèmes.

3.2 Conception du Modèle


Introduction
Afin de réaliser cette partie du projet, nous utilisons la méthodologie CRISP-DM
qui s’étale sur 7 phases principales que nous détaillons par la suite.

3.2.1 La méthode CRISP-DM


Nous optons pour la méthode de CRISP-DM pour atteindre nos objectifs.
Cross-Industry Standard Process for Data Mining(CRISP-DM), est une méthode
permettant d’orienter les travaux d’exploration de données.

• En tant que méthodologie, CRISP-DM comprend des descriptions des phases


typiques d’un projet et des tâches comprises dans chaque phase, et une expli-
cation des relations entre ces tâches.

• En tant que modèle de processus, CRISP-DM offre un aperçu du cycle de vie


de l’exploration de données.

Figure 3.4: étape de la méthodologie CRISP-DM

11
1. Compréhension de la problématique
Notre première tâche consiste à obtenir la meilleure compréhension possible
des objectifs en matière d’exploration de données. Cette tâche peut être plus
compliquée qu’il n’y paraît, mais elle permet de réduire au minimum les risques
susceptibles lors des autres phases.

2. Compréhension des données


La phase de compréhension des données de CRISP-DM implique l’étude des
données disponibles pour l’exploration de données. Cette étape est d’une im-
portance vitale, car elle permet d’éviter les problèmes inattendus au cours de
la phase de la préparation des données, phase généralement la plus longue d’un
projet.

3. Exploration et Pré-traitement des données


Nous utilisons cette phase de CRISP-DM pour explorer les données à l’aide
des tableaux, des graphiques et des autres outils de visualisation disponibles
dans IBM SPSS Modeler. De telles analyses peuvent vous aider à atteindre
l’objectif d’exploration de données instauré durant la phase de compréhension
de l’entreprise. Elles permettent également d’élaborer les tâches de transfor-
mation des données réalisées durant la préparation des données.

4. Préparation des données


La préparation des données est l’un des aspects les plus importants et les plus
coûteux en temps de l’exploration de données. En fait, la préparation des
données représente, selon les estimations, de 50 à 70 % du temps et des efforts
consacrés à un projet. Le fait de consacrer une énergie suffisante aux phases
initiales de compréhension de l’entreprise et de compréhension des données
permet de réduire cette étape, mais la préparation et l’intégration des données
en vue de l’exploration de données requièrent encore beaucoup d’efforts.

5. Modélisation
La modélisation est généralement effectuée en utilisant plusieurs itérations.
Généralement, les experts de machine learning exécutent plusieurs modèles en
utilisant les paramètres par défaut, puis affinent ces derniers ou reviennent à
la phase de préparation des données pour effectuer les manipulations requises
par le modèle de leur choix.
Il est rare qu’une question d’exploration de données soit résolue de façon
satisfaisante avec un seul modèle et une seule exécution. C’est pourquoi
l’exploration de données est si intéressant.

6. Évaluation
Il s’agit de formaliser l’évaluation concernant la conformité des résultats du
projet avec les critères de réussite. Cette étape exige une compréhension claire
des objectifs énoncés.

7. Déploiement
Le déploiement est le processus consistant à utiliser les nouvelles connais-
sances pour apporter des améliorations à la gestion département de ressources

12
humaines. Ceci peut se traduire par une intégration formelle telle que la mise
en oeuvre d’un modèle produisant des scores de promotion, l’objet de notre
étude, qui sont ensuite lus dans un entrepôt de données.

Conclusion
Dans ce chapitre nous avons vu les différents outils utilisés pour mettre en oeuvre
nos solutions et la démarche suivi pour concevoir le modèle de prédiction. Dans le
chapitre suivant nous allons voir les résultats obtenus.

13
Chapter 4

Réalisation et Résultats

Introduction
dans ce chapitre nous détaillons les composantes des deux solutions réalisées.

4.1 Outils de réalisation


4.1.1 Outils de mise en oeuvre
Nous avons utilisé les outils suivants pour le développement du site web:
HTML signifie « HyperText Markup Language » qu’on peut traduire par « langage
de balises pour l’hypertexte ». Il est utilisé afin de créer et de représenter le contenu
d’une page web et sa structure.

Figure 4.1: logo HTML

14
Les feuilles de style en cascade, appelées CSS de l’anglais Cascading Style Sheets,
forment un langage informatique qui pour la présentation des documents HTML.
MySQL est un système de gestion de bases de données relationnelles. Il est distribué

Figure 4.2: logo CSS

sous une double licence GPL et propriétaire.

Figure 4.3: logo mysql

15
Bootstrap est une collection d’outils utiles à la création du design de sites et
d’applications web. C’est un ensemble qui contient des codes HTML et CSS, des
formulaires, boutons, outils de navigation et autres éléments interactifs, ainsi que
des extensions JavaScript en option.

Figure 4.4: logo bootstrap

JavaScript est un langage de programmation de scripts principalement employé


dans les pages web interactives et à ce titre est une partie essentielle des applications
web. Avec les langages HTML et CSS, JavaScript est au cœur des langages utilisés
par les développeurs web.

Figure 4.5: logo java script

16
PHP: Hypertext Preprocessor, plus connu sous son sigle PHP, est un langage
de programmation libre, principalement utilisé pour produire des pages Web dy-
namiques via un serveur HTTP, mais pouvant également fonctionner comme n’importe
quel langage interprété de façon locale. PHP est un langage impératif orienté objet
Pour La réalisation des tableaux de bord:

Figure 4.6: logo php

Tableau est un logiciel en ligne considérée par Gartner comme un des leaders du
marché de la business intelligence aux côtés de Microsoft et Qlik. Cette solution
permet d’analyser les données d’entreprise avec une approche tableau de bord et
data visualisation totalement intuitive.

Figure 4.7: logo Tableau

17
• Pré-traitement des données

1. Python
Python est le langage de programmation le plus utilisé dans le domaine
du Machine Learning. Il est accessible et facile, ce qui permet de se
concentrer sur la tache à réaliser sans se soucier de comment le faire.

Figure 4.8: python: logo

2. Pandas
Pandas est une bibliothèque de Python permettant la manipulation et
l’analyse des données. Elle propose en particulier des structures de don-
nées et des opérations de manipulation de tableaux numériques.

Figure 4.9: pandas: logo

18
3. Numpy
NumPy est une bibliothèque de Python, destinée à manipuler des ma-
trices multidimensionnels ainsi que des fonctions mathématiques opérant
sur ces tableaux.

Figure 4.10: Numpy: logo

• Modélisation
nous utilisons scikit-learn. C’est une bibliothèque d’intelligence artificielle qui
permet de concrétiser des projets en data science.

Figure 4.11: scikit learn: logo

19
4.2 Réalisation de la plat-forme
Espace d’accueil.

Figure 4.12: page d’acceuil de ENSIASRH

20
Un candidat peut déposer une demande de travail:

Figure 4.13: formulaire de dépôt de candidature

21
Espace d’inscription des employés.

Figure 4.14: inscription des employés

22
Espace de connexion pour administrateur et employés :

Figure 4.15: espace du responsable RH

4.2.1 Espace administrateur


Le responsable des ressources humaines qui est l’administrateur peut consulter son
profil et modifier ses informations.

Figure 4.16: modification des données de l’administrateur

23
L’administrateur peut ajouter des réunions en indiquant la date.

Figure 4.17: ajout des réunions

24
L’administrateur peut consulter les demandes de travail des candidats.

Figure 4.18: listes des demandes de travail des candidats

25
L’administrateur peut consulter et ajouter des annonces.

Figure 4.19: ajouter des annonces

26
L’administrateur peut accepter ou refuser la demande de congé d’un employé.

Figure 4.20: traiter les demandes de congé

27
Le responsable peut aussi consulter les différents indicateurs du tableau de bord:

Figure 4.21: tableau de bord

4.2.2 Espace employé


L’employé trouve la page d’accueil de l’employé.

Figure 4.22: espace employé

28
L’employé peut envoyer une demande de congé au responsable.

Figure 4.23: demande de congé

29
L’employé peut consulter les annonces disponibles.

Figure 4.24: consultation des annonces

30
4.2.3 Explication des chartes du tableau de bord
Voici le tableau de bord réalisé:

Figure 4.25: tableau de bord

Pour les deux graphiques, le taux d’équilibre entre vie professionnelle et vie
privée est un nombre entre 1 et 4 donné par les employés pour évaluer leur équilibre
et le taux de performance est également une note de 1 à 4 donnée par IBM à ses
employés.
Lorsque nous avons analysé les différentes données, nous avons rencontré ces in-
dicateurs. Nous avons pris une médiane de chaque statut marital et nous avons
étudié la moyenne de leur performance par rapport à leur effectif. Comme nous
l’avions supposé, les employés mariés sont en moyenne moins bons que les employés
célibataires en termes d’équilibre mais ils sont meilleurs en termes de performance.
Cela pourrait signifier qu’une fois marié, vous vous consacrez à subvenir aux besoins
de votre famille et que vous continuez à travailler. Cependant, nous avons constaté
que les personnes divorcées étaient moins performantes et moins équilibrées que les
employés célibataires et mariés. Cela pourrait être dû à un certain déséquilibre dans
leur vie émotionnelle ou conjugale qui affecte directement leur équilibre travail-vie
privée et leur taux de performance. Il y a beaucoup de choses qui pourraient être
faites à partir de ces résultats ; peut créer des programmes pour les employés divor-
cés afin de les aider à équilibrer leur rythme de vie professionnelle et privée.

31
Figure 4.26: consultation des annonces

32
4.3 Réalisation du modèle
4.3.1 Compréhension de la problématique
La gestion du personnel est une activité qui ne peut se limiter à l’administration
courante des salariés de l’entreprise. La gestion des ressources humaines est une
des composantes à part entière du management stratégique de la firme. Il donc
indispensable de prévoir l’évolution du personnel dans une perspective à moyen
terme.
D’ici nous tirons notre problématique: Comment parvenir à faciliter le résultat
de promotion sans avoir à passer par le processus manuelle?

4.3.2 Compréhension des données


Cette phase de l’utilisation de CRISP-DM implique à présent l’accès aux données
et leur utilisation pour la phase de modélisation .

Description des données


Pour le moment nous utilisons une base de données open source de puis KAGGLE,
mais les données de notre étude doivent provenir de la plat-forme conçue après son
utilisation .
la table utilisée contient 13 attributs et différents types et 54 809 lignes.

Figure 4.27: capture de quelques lignes de la table

Explication des attributs:


• employeeid: L’unique ID de l’employé

• department: Le départment de l’employé

• region: La region d’emploi

• education: Le niveau d’étude

• gender: Le genre de l’employé

33
• recruitmentchannel: La chaîne de recrutement de l’employé

• no_ of_ trainings: Le nombre de formation complétée l’année précédente

• age: L’ge de l’employé

• previous_ year_ rating: Le rating de l’année précédente

• length_ of_ service: La durée de service exprimée par année

• awards_ won: 0 si l’employé n’a pas obtenu de prix, sinon 1

• avg_ training_ score: Le score moyen de la formation actuelle

• is_promoted: Variable cible, signifie que l’employé est recommandé pour la


promotion

La figure 4.28 présente le type de chaque attribut.

Figure 4.28: les types des champs de la base de données

Exploration des données


• Vérification de la qualité des données: Les données sont rarement par-
faites. En fait, la plupart des données contiennent des erreurs de codage, des
valeurs manquantes ou d’autres types d’incohérence qui compliquent parfois

34
l’analyse. Pour cette raison nous menons une analyse approfondie de la qualité
des données disponibles avant la modélisation.
Comme parait sur la figure ??, les colonnes education, previous_year_rating,
et avg_training_score. Nous devons tenir cela en compte lors de l’étape
de pré-traitement.

Figure 4.29: table résumant les valeurs manquantes

Pré-traitement des données


• Élimination des attributs inutiles:
la colonne contenant l’identifiant de chaque employé est inutile. Nous l’éliminons
alors.

• traitement des valeurs manquantes:


La figure 4.30 présente la somme de données manquantes par colonnes.

1. Traitement de la colonne "education" et "avg_training_score":


Nous commençons par la colonne "education". La méthode proposée pour
régler ce problème est de remplir les cases vacantes par la valeur qui se
répète le plus. D’après l figure 4.31, la valeur qui se présente le plus est
Bachelor’s.
Quant à la colonne "avg_training_score", nous optons pour la même
méthode, en remplissant par 50.0 qui est la valeur la plus fréquente.
2. Traitement de la colonne "previous_year_rating":
Puisque cette colonne indique la note obtenue par l’employé l’année précé-
dente, l’hypothèse est que les valeurs manquantes appartiennent aux em-
ployés venant de rejoindre l’entreprise. Pour vérifier cette hypothèse, nous
créons une nouvelle table contenant uniquement les données des employés

35
Figure 4.30: les champs à valeurs manquantes

Figure 4.31: compte des valeurs de la colonnes "education"

dont la valeur du "previous_year_rating" est nulle. Nous remarquons


sur la figure 4.32 que pour la colonne "length_of_service" a la même
valeur qui est "1". Nous remplaçons alors dans la table originale les don-
nées manquantes par 0.

Figure 4.32: affichage du length of service

4.3.3 Préparation des données


La préparation des données est l’un des aspects les plus importants et les plus coû-
teux en temps de l’exploration de données. En fait, la préparation des données

36
représente, selon les estimations, de 50 à 70% du temps et des efforts consacrés à un
projet.

1. le codage des champs textuels:


Pour rendre les données compréhensibles par l’homme, les données d’entraînement
sont souvent textuels, un type non supporté par les algorithmes d’apprentissage
automatique. Le codage d’étiquettes est introduit pour la conversion des éti-
quettes sous forme numérique afin de les convertir en une forme lisible par
machine. Les algorithmes d’machine learning peuvent alors décider d’une
meilleure manière de la manière dont ces étiquettes doivent être utilisées.
La figure 4.33 montre les champs à encoder.

Figure 4.33: les champs à coder

La figure 4.34 présente le résultat de cette phase:

Figure 4.34: résultat de l’encodage des données

37
2. Le feature scaling:
Le Feature Scaling permet de préparer les données quand elles ont des échelles
différentes. C’est une bonne pratique qui permettra d’avoir de meilleurs mod-
èles prédictifs.
La technique que nous utilisons est MinMaxScaler. met à l’ échelle toutes les
entités de données dans l’intervalle [0, 1]. Le résultat du scaling est représenté
par la figure 4.35.

Figure 4.35: résultat du scaling des données

4.3.4 Modélisation
1. Échantillonnage des données:
Le jeu de données dont nous disposons constitue une ressource précieuse. Il
permet à la fois de choisir un modèle et l’entraîner, mais aussi de pouvoir tester
la qualité de ce modèle. En fait, l’entraînement d’un modèle revient à mesurer
l’erreur de la sortie de l’algorithme avec les données d’exemple et chercher à
la minimiser.
Pour minimiser ce problème, la meilleure approche est de séparer dès le départ
notre jeu de données en deux parties distinctes:

• Le training set, qui va nous permettre d’entraîner notre modèle et sera


utilisé par l’algorithme d’apprentissage. Nous lui donnons 70% de la base
d’origine.
• Le testing set, qui permet de mesurer l’erreur du modèle final sur des
données qu’il n’a jamais vues et qui obtient le 30% restant de données.

38
2. Algorithme du Random Forest: Conception et réglage des paramètres
Nous avons utiliser un algorithme de classification répandu qui est le Random
Forest classifier, ou foret d’arbre décisionnels.
Le fonctionnement des arbres de décision est basé sur des règles de logiques
très simples. Les décisions possibles sont situées sur des feuilles de l’arbre aux
extrémités des branches. Elles sont modifiées en fonction des décisions prises
à chaque nœud. La règle sera donc choisie en tenant compte de la précédente
règle.
Un random forest est constitué d’un ensemble d’arbres de décision indépen-
dants. Chaque arbre dispose d’une vision parcellaire du problème du fait d’un
double tirage aléatoire :

• un tirage aléatoire avec remplacement sur les observations (les lignes de


votre base de données). Ce processus s’appelle le tree bagging,
• un tirage aléatoire sur les variables. Ce processus s’appelle le feature
sampling.

A la fin, tous ces arbres de décisions indépendants sont assemblés. La prédic-


tion faite par le random forest pour des données inconnues est alors la moyenne
(ou le vote, dans le cas d’un problème de classification) de tous les arbres.
Pour notre cas, nous testons avec trois différents paramètres, 50, 100, et 500
arbres de décisions. Nous finissions par choisir le modèle avec 50 estimateurs.

3. Rapport de classification
Un rapport de classification est utilisé pour mesurer la qualité des prédictions
à partir d’un algorithme de classification. Le calcul des prédictions correctes
et des prédictions fausses, plus précisément, les vrais positifs, les faux positifs,
les vrais négatifs et les faux négatifs sont utilisés pour prédire les mesures d’un
rapport de classification, comme indiqué ci-dessus.
Interprétation:

Figure 4.36: premier rapport de classification

(a) Precision
Cette valeur précise le pourcentage des prédictions correctes. C’est la
capacité d’un classificateur à ne pas étiqueter une instance positive qui

39
est en fait négative. Pour chaque classe, il est défini comme le rapport
des vrais positifs à la somme des vrais et des faux positifs.
(b) Recall
Le rappel est la capacité d’un classificateur à trouver toutes les instances
positives. Pour chaque classe, il est défini comme le rapport des vrais
positifs à la somme des vrais positifs et des faux négatifs.
(c) F1-score
Le score est une moyenne de la précision et du rappel telle que le meilleur
score est de 1,0 et le pire est de 0,0. En règle générale, la moyenne
pondérée de F1 doit être utilisée pour comparer les modèles de classifica-
teur, et non la précision globale. Le modèle est performant pour la classe
des 0, mais pas pour la classe des 1.
(d) Support
le support est le nombre d’occurrences réelles de la classe dans l’ensemble
de données spécifié. Un support déséquilibré dans les données de for-
mation peut indiquer des faiblesses dans les scores rapportés du clas-
sificateur et pourrait indiquer la nécessité d’un échantillonnage ou d’un
rééquilibrage.

Pour rectifier ce modèle, nous étudions l’importance des attributs d’entrée afin
de garder les plus importants au modèle.

Figure 4.37: premier rapport de classification

40
4. Feature selection
Il s’agit d’une méthode de réduction des inputs du modèle en utilisant unique-
ment des données pertinentes et en éliminant le bruit dans les données. C’est
le processus de sélection automatique des fonctionnalités pertinentes pour le
modèle conçu.
La figure 4.38 indique que l’attribut le plus influant est le "avg_training_score".

Figure 4.38: importance des attributs

41
Nous gardons finalement les 5 premiers features "avg_training_score",
"age", "region", "lenght_of_service", et "departement", comme mon-
trés sur la fig 4.42. Nous obtenons un nouveau jeu de données plus pertinent.

Figure 4.39: nouvelles données d’apprentissage

42
Rapport de classification
La figure 4.40 montre les nouvelle mesure après la sélection des attributs per-
tinents. Nous remarquons que le F1-score pour la classe 1 est devenu 0.45 au
lieu de 0.40 pour le même nombre d’estimateurs qui est 50. Nous optons donc
pour un autre algorithme.

Figure 4.40: mesure des paramètres après la sélection

5. Conception du deuxième modèle:


Nous utilisons cette fois un algorithme populaire du machine learning qui est
le XGBoost: extreme gradient boosting.
Le Gradient Boosting
C’est un algorithme d’apprentissage supervisé dont le principe est de combiner
les résultats d’un ensemble de modèles plus simples et plus faibles afin de
fournir une meilleure prédiction.
principe de l’XGBoost:
On parle de méthode d’agrégation de modèles. L’idée est de ne pas utiliser un
seul modèle, mais d’en combiner pour obtenir un seul résultat.
Pour décrire brièvement le principe, l’algorithme fonctionne de manière séquen-
tielle, contrairement au Random Forest Classifier.Il commence par construire
un premier modèle qu’il va évaluer. A partir de cette première évaluation,
chaque modèle sera ensuite pondéré en fonction de la performance de la pré-
diction.

43
6. Résultat final:

Figure 4.41: rapport de classification du XGBoost

La matrice de confusion:
La matrice de confusion est un résumé des résultats de prédiction pour un
problème particulier de classification. Elle compare les données réelles pour
une variable cible à celles prédites par un modèle. Pour le deuxième modèle,
le nombre de prédictions erronées ne dépasse pas les centaines, nous pouvons
alors accepter ces résultats.

44
Figure 4.42: matrice de confusion du modèle choisi

45
4.3.5 Évaluation
Nous avons réalisé la plus grande partie de notre projet d’exploration de données.
Nous avons également déterminé, lors de l’étape de modélisation, que le modèle
choisi est techniquement correct et efficace.
Conclusion
A ce stade, notre modèle final présente des résultats exacts et pertinents, satisfaisant
nos objectifs d’exploration de données. Mais il peut toujours être améliorer. Nous
décidons de refaire la phase de modélisation avant de ne passer au déploiement.

46
Chapter 5

Conclusion

Notre projet intitulé "Simulation de la gestion prévisionnelle du personnel" consiste


à concevoir un outil qui permet l’anticipation des besoins du personnel d’une en-
treprise.
Pour se faire nous concevons d’abord une plat-forme de gestion du personnel. Puis
nous complétons ce travail par la conception d’un modèle de prédiction de la pro-
motion des employés. La logique des solutions proposées est de fournir la base de
données générer par le site web au modèle conçu, mais pour le moment nous util-
isons une base de source différentes.
Certes, ce projet nous a été bénéfique et nous a permis de faire face à de nouvelles
contraintes techniques dans la partie développement.
Aussi, la partie d’implémentation du modèle de prédiction nous a permis d’assurer
l’objectif de l’anticipation de l’état du personnel.
La réalisation de ce projet nous a permis de se développer efficacement en combinant
deux différents domaine de l’informatique pour répondre à une problématique d’un
différent secteur.

Cependant, l’exploitation effective du site pourra révéler des insuffisances et


générer des données plus pertinent qui aiderons à l’amélioration des solutions réal-
isés et la conduite de différentes études visant d’autres processus de la gestion du
personnel.

47

Vous aimerez peut-être aussi

  • Cdxyt
    Cdxyt
    Document13 pages
    Cdxyt
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Kjuyt
    Kjuyt
    Document64 pages
    Kjuyt
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Ecole Nationale Supérieure D'informatique Et D'analyse Des Systèmes
    Ecole Nationale Supérieure D'informatique Et D'analyse Des Systèmes
    Document2 pages
    Ecole Nationale Supérieure D'informatique Et D'analyse Des Systèmes
    ZOHORE BATRANI
    Pas encore d'évaluation
  • VFDC
    VFDC
    Document9 pages
    VFDC
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Dmszine
    Dmszine
    Document38 pages
    Dmszine
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Monday
    Monday
    Document9 pages
    Monday
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Mlijh
    Mlijh
    Document11 pages
    Mlijh
    ZOHORE BATRANI
    Pas encore d'évaluation
  • XCNBSD
    XCNBSD
    Document21 pages
    XCNBSD
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Milkked
    Milkked
    Document19 pages
    Milkked
    ZOHORE BATRANI
    Pas encore d'évaluation
  • Rapport IA
    Rapport IA
    Document19 pages
    Rapport IA
    ZOHORE BATRANI
    Pas encore d'évaluation