Académique Documents
Professionnel Documents
Culture Documents
LIKORSD
LIKORSD
des Systèmes
Simulation de la Gestion
Prévisionnelle du Personnel
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
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
Remerciements
Contexte du projet
Introduction
Cette partie est dédiée à la présentation de contexte général du projet.
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.
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
2
Chapter 2
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.
3
• Une page de profil :
Une page de profil qui contient les information et le Curriculum Vitae de
chaque employé.
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 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. . . ) .
• 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é.
• 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.
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.
• Ajouter des documents :permet aux utilisateurs d’ajouter leurs photo de profil
et leurs Curriculum Vitae.
• 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é .
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.
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.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.
8
3.1.3 Diagramme de classe
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.
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.
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.
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é
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.
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:
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.
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.
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.
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.
• Modélisation
nous utilisons scikit-learn. C’est une bibliothèque d’intelligence artificielle qui
permet de concrétiser des projets en data science.
19
4.2 Réalisation de la plat-forme
Espace d’accueil.
20
Un candidat peut déposer une demande de travail:
21
Espace d’inscription des employés.
22
Espace de connexion pour administrateur et employés :
23
L’administrateur peut ajouter des réunions en indiquant la date.
24
L’administrateur peut consulter les demandes de travail des candidats.
25
L’administrateur peut consulter et ajouter des annonces.
26
L’administrateur peut accepter ou refuser la demande de congé d’un employé.
27
Le responsable peut aussi consulter les différents indicateurs du tableau de bord:
28
L’employé peut envoyer une demande de congé au responsable.
29
L’employé peut consulter les annonces disponibles.
30
4.2.3 Explication des chartes du tableau de bord
Voici le tableau de bord réalisé:
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?
33
• recruitmentchannel: La chaîne de recrutement de l’employé
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.
35
Figure 4.30: les champs à valeurs manquantes
36
représente, selon les estimations, de 50 à 70% du temps et des efforts consacrés à un
projet.
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.
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:
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 :
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:
(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.
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".
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.
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.
43
6. Résultat final:
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
47