École Nationale Supérieure des Mines de Rabat
Data Mining & Machine Learning
Devoir N°1
Réalisé par :
-CHERKAOUI Jihane
-EL YOUSSFI Marwa
-IDRISSI Khalid
-KETTANI Mohammed-Ayman
Introduction
e nos jours, nous faisons face au quotidien à un flot considérable d’informations
D qu’on désigne en utilisant le terme « Big Data ». En effet, les « Big Data »
(données massives) désignent des ensembles de données qui deviennent tellement
volumineuses qu’ils en deviennent difficiles à travailler avec des outils classiques de
gestion de base de données ou de gestion de l’information. On divise donc ces données sur
plusieurs serveurs et on travaille en parallèle. Pour assurer une bonne gestion de ces
données et leur lise à profit, on optera donc pour le « Data Mining ». Ce dernier, étant au
confluent de la statistique et de l’informatique décisionnelle, assure l’application des
technologies d’analyse et d’intelligence artificielle à l’exploration et à l’analyse des
grandes bases de données, en vue d’en extraire des informations pertinentes pour
l’entreprise en question et de les utiliser en particulier dans les systèmes d’aide à la
décision. Le « Data Mining » constitue l’une des dix technologies émergentes qui
changeront le monde au 21ème siècle, et comporte de familles de méthodes : les méthodes
d’apprentissage dite supervisés et les méthodes d’apprentissage non supervisés. Dans le
cas échéant, nous nous intéresserons en particulier aux méthodes d’apprentissage
supervisé, plus précisément au modèle du « perceptron ».
1
Exercice 1 :
a- Pour répondre à cette question on commencera d’abord par importer les
bibliothèques python nécessaires, puis définir le label y et les poids w, puis générer
le fichier d’apprentissage de taille 100 et le fichier test de taille 10000 :
On passe maintenant à générer la matrice des données normalisées de
l'apprentissage, puis créer de la droite séparante aléatoire pour séparer les éléments :
En exécutant le programme ci-dessus on obtient les résultats suivants :
2
3
Et pour le label y :
4
Maintenant on met ɳ=100 :
5
Si on exécute le programme ci-dessus on obtient le graphe suivant :
6
b- En utilisant le même fichier de données, et le même algorithme que la question (a),
on met pour ɳ=1, et on obtient le graphe suivant :
7
c- En utilisant le même fichier de données, et le même algorithme que la question (a),
on met pour ɳ=0.01, et on obtient le graphe suivant :
d- En utilisant le même fichier de données, et le même algorithme que la question (a),
on met pour ɳ=0.0001, et on obtient le graphe suivant :
8
e- D’après la comparaison entre le graphe obtenu dans la question (a) et celui dans la
question (d), on remarque qu’en passant de ɳ= 100 en ɳ=0.0001 (en diminuant le
paramètre ɳ) la précision augmente et les données deviennent bien classées.
Exercice 2 :
a- On considère que : En(w)=max(0,1-ynwTxn)2
0 si (yn,xn) sont bien classées
En(w)=max(0,1-ynwTxn)2=
(1-ynwTxn)2 sinon
0 si (yn,xn) sont bien classées
∇ En(w)=
-2* ynxn*(1-ynwTxn) sinon