dans ce rapport, on a fait :
- Définir le BIG DATA.
- Procédure d'installation de RHadoop sur VirualBox.
- L'application de BIG DATA sur la cartographie.
- Lapplication de BIG DATA sur une méthode d'analyse des données ( Analyse des Composantes Principales )
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
Généralités sur le BIG DATA et la procédure d'installation de RHadoop sur
1. Université Abdelmalek Essaadi
Faculté des Sciences et Techniques Tanger
Département Mathématique
2éme Année cycle ingénieurs Génie industriel
RAPPORT DE PROJET
BIG DATA
2. Page | 2
MINIPROJETBIGDATA
Remerciement :
Avant tout, nous devons remercier Dieu tout puissant qui nous a
donné le courage et la force pour mener ce travail à terme. En
premier lieu nous tenons à remercier vivement notre encadrant du
module Monsieur Rachid EL HALIMI, Professeur et chercheur à la
Faculté des Sciences et technique de Tanger, pour ses conseils avisés
et pour la confiance qu’il nous a accordé tout au long de notre
formation de ce module, nous avons grandement apprécié votre
soutien, votre implication et votre expérience tout au long de ce
semestre.
3. Page | 3
MINIPROJETBIGDATA
Sommaire
Remerciement :.................................................................................................................... 1
Partie 1 : Le Big Data, introduction, techniques et outils. ............................................. 6
Comment le big data est-il apparu ?............................................................................... 6
Définition de big data : ..................................................................................................... 6
L’historique :....................................................................................................................... 7
Big data en chiffres :.......................................................................................................... 7
Les objectifs du big data :................................................................................................. 8
Les domaines d’applications de Big data :.................................................................... 8
• Les caractéristiques de Big Data :........................................................................... 9
• Les enjeux du Big Data :.......................................................................................... 11
Les problèmes de big data : ........................................................................................... 12
• Big Algebra :.......................................................................................................... 12
• Big Noise :.............................................................................................................. 12
• Big time :................................................................................................................ 13
• Big structures : ..................................................................................................... 13
• Sécurité :................................................................................................................ 13
1. L’automatisation de la discrimination : ...................................................... 13
2. Les abus gouvernementaux :......................................................................... 13
3. La vente aux enchères des données :........................................................... 13
Les techniques statistiques de Big Data :........................................................................ 14
1. Les règles d’association :........................................................................................ 14
Définition : .................................................................................................................... 15
Extraction des règles d’association :........................................................................ 15
Application sur RStudio : ........................................................................................... 17
2. Les arbres de classification :.................................................................................. 23
Exemple : ....................................................................................................................... 23
3. L’analyse de régression :........................................................................................ 24
La définition :................................................................................................................ 24
Les Types d'analyses de régression :....................................................................... 24
Ia régression linéaire simple..................................................................................... 25
Les outils en R :..................................................................................................................... 28
VirtualBox : ....................................................................................................................... 28
✓ Hadoop....................................................................................................................... 29
✓ Storm.......................................................................................................................... 29
4. Page | 4
MINIPROJETBIGDATA
✓ Hadoop MapReduce ................................................................................................ 29
✓ Cassandra.................................................................................................................. 30
Les fonction rx-XXXXXX ou Rx-XXXXXX : .................................................................... 30
La bibliothèque RevoScaleR R :..................................................................................... 31
Données Exemple d’application : ................................................................................. 32
Partie 2: La cartographie ........................................................................................................ 39
I. Cartographies, Cartes:................................................................................................. 39
1. Qu’est-ce que la cartographie : ................................................................................ 39
2. Carte :......................................................................................................................... 40
3. Cartographie sous R : théorie et pratique :......................................................... 42
3.1 Cartographie sous R : théorie........................................................................ 42
3.1.1 Le fond de carte........................................................................................ 43
3.1.2 Données géolocalisées............................................................................ 44
3.1.3 Système de coordonnées et projection cartographique.................. 45
3.2 Cartographie sous R : pratique ..................................................................... 47
CONCLUSION ................................................................................................................... 59
Partie 3 : ACP (Analyse en Composantes Principales) : ............................................... 60
Généralité :........................................................................................................................ 60
Position du Problème: .................................................................................................... 60
1-LES DONNÉES............................................................................................................. 60
Principe de la méthode ACP : ........................................................................................ 61
3. LE CHOIX DE LA DISTANCE ENTRE INDIVIDUS : .................................................... 63
4. INERTIE TOTALE :........................................................................................................ 64
LA SOLUTION DU PROBLÈME POSÉ :............................................................................ 66
2. PROPRIÉTÉS DES COMPOSANTES PRINCIPALES :................................................. 67
3. REPRÉSENTATION DES INDIVIDUS : ........................................................................ 67
4. REPRÉSENTATION DES VARIABLES......................................................................... 68
5. INTERPRETATION DES « PROXIMITÉS » ENTRE VARIABLES.............................. 69
III. VALIDITÉ DES REPRÉSENTATIONS : ...................................................................... 70
1. CRITÈRE GLOBAL :..................................................................................................... 70
2. CRITÈRES INDIVIDUELS :.......................................................................................... 71
3. REPRÉSENTATION DES VARIABLES :...................................................................... 72
4. INTERPRÉTATION EXTERNE : VARIABLES ET INDIVIDUS SUPPLÉMENTAIRES
(ILLUSTRATIFS) : .......................................................................................................... 73
4. Etude de cas sous « Logiciel XLSTAT »................................................................... 74
6. Page | 6
MINIPROJETBIGDATA
Partie 1 : Le Big Data, introduction,
techniques et outils.
Comment le big data est-il apparu ?
L’explosion quantitative des données numériques a obligé les
chercheurs à trouver de nouvelles manières de voir et d’analyser le
monde. Il s’agit de découvrir de nouveaux ordres de grandeur
concernant la capture, la recherche, le partage, le stockage, l’analyse
et la présentation des données.
Ce sont les informations provenant de partout : messages que nous
nous envoyons, vidéos que nous
publions,informations climatiques,signauxGPS, enregistrements
transactionnels d’achats en ligne et bien d’autres encore
Le volume de données numériques ne cesse d’augmenter. Cette
prolifération des données est due à la numérisation croissante de
tous les domaines du web et de l’économie. C’est dans ce contexte
que le big data est né, au moyen de la fusion de diverses sources de
données, structurées ou non structurées, telles que :
– L’utilisation d’internet sur les mobiles
– Les réseaux sociaux
– La géolocalisation
– Le cloud
– Le streaming des médias.
Définition de big data :
Littéralement, ces termes signifient mégadonnées, grosses données
ou encore données massives. Ils désignent un ensemble très
volumineux de données qu’aucun outil classique de gestion de base
de données ou de gestion de l’information ne peut vraiment
travailler. En effet, nous procréons environ 2,5 trillions d’octets de
données tous les jours.
Le Big data est appliqué dans tous les domaines ayant rapport au
Web. Un exemple d’outil de big data dans le domaine de l’e-
commerce est la fameuse phrase « ceux qui ont acheté le produit X
ont aussi acheté… ».
7. Page | 7
MINIPROJETBIGDATA
L’historique :
Ces données sont baptisées Big Data ou volumes massifs de données.
Les géants du Web, au premier rang desquels Yahoo (mais aussi
Facebook et Google), ont été les tous premiers à déployer ce type de
technologie.
Selon les archives de la bibliothèque numérique de l’Association for
Computing Machinery (ou ACM) dans des articles scientifiques
concernant les défis technologiques à relever pour visualiser les
« grands ensembles de données », cette appellation est apparue en
octobre 1997.
Big data en chiffres :
Les chiffres du Big Data
permettent de comprendre à
quel point la collecte et
l’analyse de données sont en
train de bouleverser toutes les
industries
On peut citer les chiffres du Big
data suivants :
• Le volume de données
mondiales double tous les
trois ans
• Les prédictions pour le
futur :
• 75% des entreprises
comptent implémenter l’IA
et le Big Data
• 60% des fabricants
mondiaux utiliseront le Big
Data
• 90% des données
mondiales ont été créées au
8. Page | 8
MINIPROJETBIGDATA
cours des deux dernières années
• 1,7 mégabyte de données sera créé chaque seconde par chaque
personne en 2020
Les objectifs du big data :
Le Big Data est une technologie formidable permettant notamment
aux entreprises de réduire leurs coûts, de prendre de meilleures
décisions, ou encore de créer de nouveaux produits / services
correspondant à la demande des clients. Toutefois, le Big Data n’en
est encore qu’à ses balbutiements, et continue d’évoluer en
permanence.
Les domaines d’applications de Big data :
Le big data est utilisé partout, dans tous les secteurs de la vie
quotidienne et on trouve généralement :
–La recherche médicale : grâce à l’évaluation des données massives,
les médecins peuvent trouver de meilleures solutions de thérapie et
de traitement pour leurs patients.
– L’industrie : grâce à l’utilisation des données des machines de la
chaîne de production par exemple, les entreprises peuvent
augmenter l’efficacité de leur production et travailler de manière
plus durable.
– Economie : il permet aux entreprises de mieux connaitre leurs
clients et de leur proposer des offres toujours plus adaptées à leurs
besoins.
– Marketing : le big data est utilisé dans le marketing pour mieux
cibler les clients. L’objectif est entre autres d’améliorer les relations
avec les consommateurs et d’augmenter le taux de conversion.
– Lutte contre la criminalité : le gouvernement et les services de
9. Page | 9
MINIPROJETBIGDATA
sécurité ont également recours au big data, par exemple dans le
cadre de la lutte antiterroriste ou de la lutte anti-blanchiment.
– Secteur bancaire …
• Les caractéristiques de Big Data :
Parmi les utilisateurs les
plus enthousiastes du Big
Data, on retrouve les
gestionnaires et les
économistes. Ces
derniers définissent ce
phénomène par la règle
des 5V(Volume, Velocity,
Variety, Veracity, Value)
1. Le volume :
Le volume correspond à la masse d’informations produite chaque
seconde. Selon des études, pour avoir une idée de l’accroissement
exponentiel de la masse de données, on considère que 90 % des
données ont été engendrées durant les années où l’usage d’internet
et des réseaux sociaux a connu une forte croissance.
2. La vélocité :
La vélocité équivaut à la rapidité de l’élaboration et du déploiement
des nouvelles données. Par exemple, si on diffuse des messages sur
les réseaux sociaux, ils peuvent devenir « viraux » et se répandre en
un rien de temps. Il s’agit d’analyser les données au décours de leur
10. Page | 10
MINIPROJETBIGDATA
lignée (appelé parfois analyse en mémoire) sans qu’il soit
indispensable que ces informations soient entreposées dans une base
de données.
3. La variété :
Seulement 20% des données sont structurées puis stockées dans
des tables de bases de données relationnelles similaire à celles
utilisées en gestion comptabilisée. Les 80% qui restent sont non-
structurées. Cela peut être des images, des vidéos, des textes, des
voix, et bien d’autres encore… La technologie Big Data, permet de
faire l’analyse, la comparaison, la reconnaissance, le classement des
données de différents types comme des conversations ou messages
sur les réseaux sociaux, des photos sur différents sites etc. Ce sont les
différents éléments qui constituent la variété offerte par le Big Data.
4. La véracité :
La véracité concerne la fiabilité et la crédibilité des informations
collectées. Comme le Big Data permet de collecter un nombre indéfini
et plusieurs formes de données, il est difficile de justifier
l’authenticité des contenus, si l’on considère les post Twitter avec les
abréviations, le langage familier, les hashtags, les coquilles etc.
Toutefois, les génies de l’informatique sont en train de développer de
nouvelles techniques qui devront permettre de faciliter la gestion de
ce type de données notamment par le W3C.
5. La valeur :
La notion de valeur correspond au profit qu’on puisse tirer de l’usage
du Big Data. Ce sont généralement les entreprises qui commencent à
obtenir des avantages incroyables de leurs Big Data. Selon les
11. Page | 11
MINIPROJETBIGDATA
gestionnaires et les économistes, les entreprises qui ne s’intéressent
pas sérieusement au Big Data risquent d’être pénalisées et écartées.
Puisque l’outil existe, ne pas s’en servir conduirait à perdre un
privilège concurrentiel.
• Les enjeux du Big Data :
Le secteur (Big Data) novateur en lien avec les nouvelles technologies
répond à des enjeux stratégiques en vue de développer des produits
répondant aux besoins des consommateurs.
1. Développer les ventes :
Avec des statistiques concrètes sous la main, les entreprises tirent
désormais profit des informations à leur disposition pour proposer
des produits ou services susceptibles d’intéresser les
consommateurs. Elles peuvent ainsi espérer engranger un maximum
de bénéfices tout en évitant les pertes liées aux coûts de
développement de produits qui ne marchent pas.
2. Le Big Data au service du marketing :
Les processus analytiques des données sont centralisés autour d’un
référentiel connaissance client afin de réunir les applications métiers
propres à chaque canal de communication. Il convient ensuite de
mettre en place des solutions prédictives qui optimiseront les offres
proposées aux clients, les campagnes de communication et par
extension, les ventes.
De fait, l’analyse des données centralisées permet à une entreprise de
proposer à une clientèle bien définie les bons produits au bon
moment en s’appuyant sur les bons messages.
12. Page | 12
MINIPROJETBIGDATA
3. Le triage et l’analyse des données :
Les professionnels du Big Data recourent non seulement à la
statistique proprement dite, mais aussi au « machine learning » ou
intelligence artificielle pour perfectionner l’analyse et l’exploitation
des données. Actuellement, l’enjeu est tel que les entreprises ont tout
intérêt à utiliser le Big Data pour faire face à la concurrence et doper
leur croissance.
Les problèmes de big data :
Le big Data s’intéresse à éviter les choses suivantes :
• Big Algebra :
Lorsqu’il élabore une solution big data pour résoudre un problème
donné, le « data scientist » ressemble beaucoup à un alchimiste.
Préparation des données, choix et paramétrage de la méthode de
traitement de données sont généralement des étapes difficiles.
• Big Noise :
Les spécialistes du « Data Mining » savent bien que l’accumulation de
données ne suffit pas pour extraire des informations utiles.
L’existence d’un signal de bruit ne permet pas toujours d’extraire les
données voulues et on explique ça selon la figure suivante :
13. Page | 13
MINIPROJETBIGDATA
• Big time :
La question du temps devient une dimension essentielle de la
recherche en Big Data, Par ailleurs, l’intégration de la dimension
temporelle est mal traitée dans le big data.
• Big structures :
Les problèmes de très grandes masses de données couvrent des
types de données de nature et de structures bien plus variées :
images, vidéos, larges corpus de livres
• Sécurité :
Le Big Data représente également un risque de sécurité pour la
confidentialité et on trouve généralement les risques liés à la
sécurité :
1. L’automatisation de la discrimination :
Le Big Data tend à automatiser la discrimination. Malgré les avancées
réalisées dans le domaine du Big Data, les lois sur la protection n’ont
pas évolué.
2. Les abus gouvernementaux :
Le nombre de bases de données gouvernementales américaines est
plus élevé que jamais auparavant. Le FBI par exemple collecte des
données personnelles comme le nom, les pseudonymes, l’origine
ethnique, le genre, le lieu et la date de naissance, le numéro de
sécurité sociale, le numéro de passeport, l’adresse, les numéros de
téléphone, les photos, les empreintes digitales, les numéros de
compte bancaire, et l’emploi des citoyens.
3. La vente aux enchères des données :
14. Page | 14
MINIPROJETBIGDATA
De nombreuses entreprises collectent et vendent les données des
utilisateurs, permettant d’établir des profils d’individus. Les
entreprises peuvent désormais savoir si une femme est enceinte, si
une personne est homosexuelle ou si elle est atteinte d’un cancer
avant même qu’elle ne le révèle à ses proches. Aucune loi ne protège
réellement les consommateurs contre de tels agissements. Jusqu’à ce
que des lois pour la protection de la confidentialité soient votées, ces
pratiques continueront.
Comme un titre d’exemple, l’utilisation de données personnelles pour
la campagne de Trump.
Les techniques statistiques de Big
Data :
Selon IDC Canada, une firme de recherche en informatique basée à
Toronto, le Big Data est l’un des trois éléments les plus importants en
2013. Dans cette vision, il existe 7 techniques d’analyse du Big Data
largement utilisées. Au cours des 12 prochains mois :
1- Les règles d’association
2- Les arbres de classification
3- Les algorithmes génétiques
4- La Machine Learning
5- L’analyse de régression
6- L’analyse de sentiments
7- L’analyse de réseaux sociaux
1. Les règles d’association :
15. Page | 15
MINIPROJETBIGDATA
Définition :
Une règle d’association est dite « Bonne » S’elle est une règle avec un
Support et une confiance
élevée.
Extraction des règles d’association :
Soit un ensemble des produits organisées selon la chose suivante :
Tout d’abord, il faut choisir LE SUPPORT MINIMUM, or à partir de ce
schéma, on trouve la chose suivante :
16. Page | 16
MINIPROJETBIGDATA
1
On trouve que C14=4, C24 =6, C34 =4 et C44 =1
On prend par exemple le Support minimum 2
L’item maximal est {P1, P2, P3} car il est le plus fréquent
Pour les itemset, on teste toutes les combinaisons possibles, alors on
a :
Pour chaque {Pi,Pj} i≠j , sauf {P1,P4}, {P2, P4}, {P3, P4} car son support
est inférieur au support minimal . On teste son support et sa
confiance selon la chose suivante :
Souvent, on trouve que malgré les paramètres « support et confiance
» sont très élevés mais la méthode reste en général n’est pas
intéressante. D’où, c’est pour cela il existe des autres paramètres ‘on
dit des autres mesures’ avancés comme
1
Les chiffres colorés en bleu indiquent le support absolu.
17. Page | 17
MINIPROJETBIGDATA
* Lift = 1 -> La règle ne sert
absolument à rien…
Application sur RStudio :
Prenons l’exemple des femmes (quelquefois il existe aussi des
hommes qui utilisent ça !!) utilisent des produits cosmétiques.
On a pris une population de 1000 individus utilisent la Liste des
produits cosmétiques suivantes :
Le nom du produit dans le
fichier CSV.2
Bag
Blush
Nail Polish
Brushes
Concealer
Eyebrow Pencils
Bronzer
Lip liner
Mascara
2
Merci au Mr Bharatendra Rai.
Director, Master of Science Technology Management Program; Chair, Dept. of Decision & Info Sciences
at UMass Dartmouth , qui a m’envoyé cette base de données
18. Page | 18
MINIPROJETBIGDATA
Eye shadow
Foundation
Lip Gloss
Lipstick
Eyeliner
On passe maintenant aux simulations, on ouvre le logiciel et on lit
notre fichier selon le code suivant :
On lit le fichier en cliquant sur le fichier dans la zone de DATA, on
trouve alors :
D’accourd , maintenant on va jouer avec ces données :
1- Premièrement on ouvre les bibliothèques ‘arules’ et
‘arulesViz’
19. Page | 19
MINIPROJETBIGDATA
2- Pour bien visualiser les données, on applique la fonction
Summary , on aura donc :
Par exemple, on sait que 457 des individus utilisent l’Eyeliner,
les autres n’utilisent pas (543).
3- Maintenant, on cherche à savoir les règles d’associations entre
les différents items, on applique donc la fonction apriori :
20. Page | 20
MINIPROJETBIGDATA
On a construit 68880 règles, on doit tout simplement filtrer ces
résultats en basant sur le support et la confiance et des autres
paramètres comme : la longueur de la règle (le minimum et le
maximum) :
On a trouvé :
On a trouvé 15 règles d’associations, on a les affichés en utilisant la
fonction inspect et ça selon la chose suivante :
21. Page | 21
MINIPROJETBIGDATA
Ces règles ne sont pas intéressantes car pour chaque règle on
observe qu’il s’agit d’une règle de « Si l’individu n’achète pas Bag
Alors n’achète pas Brushes « ce qui en fait n’est pas intéressant :
Donc il faut jouer sur le support et la confiance. En plus de ça, on
prend que les individus qui utilisent ‘Foundation’.
Pour un support de 0.01 et une confiance de 0.7, on trouve 19 règles
On les affiche une autre fois en utilisant la même fonction :
22. Page | 22
MINIPROJETBIGDATA
Pour tracer les courbes, on applique la fonction plot() qui se trouve
dans la bibliothèque ‘arulesViz’
On trouve :
23. Page | 23
MINIPROJETBIGDATA
On voit bien que la partie encadrée en bleu constitue une partie très
importante car elle a un bon support, bonne confiance et un lift
intéressant, en comparant bien sûr avec les autres et beaucoup plus
précisément la partie qui est encadrée en noir.
2. Les arbres de classification :
Un arbre de décision est un schéma représentant les résultats
possibles d'une série de choix interconnectés. Il permet à une
personne ou une organisation d'évaluer différentes actions possibles
en fonction de leur coût, leur probabilité et leurs bénéfices
Un arbre de décision commence généralement par un nœud d'où
découlent plusieurs résultats possibles. Chacun de ces résultats mène
à d'autres nœuds, d'où émanent d'autres possibilités. Le schéma ainsi
obtenu rappelle la forme d'un arbre.
• La classification statistique est utilisée pour :
o Attribuer automatiquement des documents à des catégories
o Classer les organismes en groupes
o Élaborer des profils d’étudiants qui suivent des cours en ligne
Exemple :
24. Page | 24
MINIPROJETBIGDATA
3. L’analyse de régression :
La définition :
L’analyse de régression est une méthode statistique de modélisation
des relations entre différentes variables (dépendantes et
indépendantes). Elle est utilisée pour décrire et analyser les relations
entre les données. L'analyse de régression permet de réaliser des
prédictions, les relations entre les données étant utilisées comme une
base pour la prévision et la conception d'un modèle de prédiction.
Une régression est basée sur l’idée qu’une variable dépendante est
déterminée par une ou plusieurs variables indépendantes.
Les analyses de régression ont deux objectifs centraux. Elles sont
censées :
• Quantifier les relations et les décrire à l’aide des valeurs
mesurées et de leur représentation graphique.
• Fournir des prévisions et des prédictions.
Les Types d'analyses de régression :
•Régression simple : Seulement une variable explicative est utilisée
pour expliquer la variable dépendante.
•Régression multiple : Plusieurs variables explicatives sont liées à
une variable dépendante.
•Régression linéaire : Il existe une relation linéaire entre plusieurs
variables explicatives et plusieurs variables dépendantes. Le concept
comprend également des paramètres linéaires et une structure.
•Régression non-linéaire :S’il n’existe pas de relation linéaire entre
les variables dépendantes et indépendantes, vous obtenez une
régression non-linéaire.
25. Page | 25
MINIPROJETBIGDATA
Ia régression linéaire simple
La régression linéaire consiste à expliquer une variable par une
variable explicative tout en faisant l’hypothèse que la fonction reliant
ces deux variables est une fonction affine.
La méthode de moindres carrés
Une des techniques les plus connues pour trouver la fonction reliant
une variable expliquée à une variable explicative est la technique des
moindres carrés. On peut remarquer que cette technique n’est pas
réservée à la régression linéaire.
On peut voir ici un exemple de l’utilisation de la méthode des
moindres carrés aboutissant à la formation d’une courbe.
Application des moindres carrés à la droite de régression linéaire :
On dispose de deux ensembles de valeurs d’une taille n : les variable
explicatives {x1,x2,x3…xn} et les variables expliquées {y1,y2,y3…yn}
entachées ou non d’erreurs de mesures. On connaît un ensemble de
points (xi,yi) grâce auquel on va pouvoir appliquer la méthode des
moindres carrés.
L’ensemble des points (xi,yi) forment alors un nuage tel que celui
présenté à la sous partie régression linéaire. On cherche alors la
droite d’une fonction affine s’adaptant le mieux à ce nuage de points.
Pour cela on cherche la fonction F(x) = ax+b tel que E, somme des
26. Page | 26
MINIPROJETBIGDATA
carrés des différences entre f(xi) et la valeur yi correspondante, soit
le plus petit possible.
On utilise alors la formule :
Où ei est la différence entre f(x) et y.
Soit a’ et b’ paramètres réduisant E à son minimum, alors il a été
prouvé que
Et que
X étant la moyenne des abscisses des points et Y la moyenne des
ordonnées des points.
Exemple d’utilisation :
On peut voir dans le tableau la masse et la taille de 10 personnes
fictives dont l’imc est « normal ».
Ces données sont alors mises dans un graphique avec la taille en
abscisse
27. Page | 27
MINIPROJETBIGDATA
En supposant que la fonction qui fait le lien entre la taille et la masse
de la personne est une fonction affine, on peut alors créer une droite
de régression linéaire à l’aide de la technique des moindres carrés
vue plus haut.
Il faut en premier lieu calculer la moyenne de la taille et la moyenne
de la masse tel que :
La taille moyenne est de 185.8 cm
La masse moyenne est de 77.3 kg.
On peut alors calculer la fonction f(x) optimale.
Le coefficient de la droite de régression est
28. Page | 28
MINIPROJETBIGDATA
L’ordonnée à l’origine de la droite est
Ce qui nous donne la droite de régression linéaire ci-dessous.
Les outils en R :
VirtualBox :
Oracle VM VirtualBox (anciennement
VirtualBox) est un logiciel libre de
virtualisation publié par Oracle.
VirtualBox permet la création d’un ou
de plusieurs ordinateurs virtuels dans
lesquels s’installent d’autres systèmes
d’exploitation.
Il fonctionne sous Windows mais
aussi sur Mac, Linux …
La virtualisation permet, sur un même
PC, de faire tourner plusieurs
systèmes d’exploitation en
concurrence. Le système d’exploitation « principal » fait tourner par
le biais d’une application servant au partage des ressources et à
l’émulation d’un PC un autre système d’exploitation.
29. Page | 29
MINIPROJETBIGDATA
✓ Hadoop
Créé par Apache, Hadoop est un framework logiciel open
source facilitant le traitement distribué de très larges ensembles de
données au travers de centaines de serveurs opérant parallèlement.
Ce framework repose sur des modèles de programmation
simples pour assurer le traitement des données et les rendre
disponibles sur des machines locales.
✓ Storm
Storm est un autre produit développé par Apache. Il s’agit d’un
système de traitement Big Data en temps réel open source. Storm
est adapté à tous les langages de programmation, et permet de
traiter des données même si un nœud connecté du cluster ne
fonctionne plus ou si les messages sont perdus.
✓ Hadoop MapReduce
30. Page | 30
MINIPROJETBIGDATA
Hadoop MapReduce est un modèle de programmation et un
framework logicielpermettant de créer des applications de
traitement de données. Développé à l’origine par
Google, MapReduce autorise le traitement rapide et parallèle de
larges ensembles de données sur des clusters de nœuds.
Ce framework a deux fonctions principales. D’abord, la fonction de
mapping permettant de séparer les données à traiter.
Deuxièmement, la fonction de réduction permettant d’analyser les
données.
✓ Cassandra
Apache Cassandra est une base de données NoSQL hautement
scalable. Elle est capable de surveiller de larges ensembles de
données répartis sur divers clusters de serveurs et sur le Cloud.
Initialement développée par Facebook pour répondre à un besoin
d’une base de données suffisamment puissante pour la fonction de
recherche Inbox.
Les fonctions rx-XXXXXX ou Rx-XXXXXX :
Tout d’abord ces fonctions sont incluses dans la bibliothèque
RevoScaleR
31. Page | 31
MINIPROJETBIGDATA
La bibliothèque RevoScaleR R :
La bibliothèque RevoScaleR est un ensemble de fonctions R
portables, évolutives et distribuables permettant d'importer, de
transformer et d'analyser des données à grande échelle. Vous pouvez
l'utiliser pour les statistiques descriptives, les modèles linéaires
généralisés, les arbres de classification et de régression et les forêts
de décision.
Les fonctions s'exécutent sur l'interpréteur RevoScaleR, construit sur
un open-source R, conçu pour tirer parti de l'architecture
multithread et multi-nœud de la plate-forme hôte.
Comment installer cette bibliothèque :
Il existe en fait plusieurs méthodes pour installer cette bibliothèque,
on a utilisé la suivante :
✓ Installation de R-Client de Microsoft :
Il faut respecter les deux étapes essentielles :
1- Installation de R Client :
C’est une installation très simple.
2- Configuration de notre IDE :
Bien que R soit un programme piloté par ligne de commande, vous
pouvez également utiliser votre environnement de développement
intégré (IDE) favori pour interagir avec Microsoft R Client. Les
options de R IDE incluent les outils R pour Visual Studio sous
Windows (recommandé), RStudio ou tout autre environnement de
développement R.
On a utilisé RStudio.
Les fonctions de cette bibliothèque :
• rx-Summary()
Produire des résumés univariés des objets dans RevoScaleR.
• Rx-LinMod()
Ajuster les modèles linéaires sur des petites ou grandes.
32. Page | 32
MINIPROJETBIGDATA
Données Exemple d’application :
On a utilisé comme un titre d’exemple de Airline on-time
performance data on 2008 in USA.3
On a utilisé les variables suivantes :
Year
L’année du vol.
Month
Le mois du vol.
DayOfMonth
Le jour du mois de vol.
DayOfWeek
Le jour de la semaine .
DepTime
Heure de depart reelle .
CRSDepTime
heure de départ prévue.
ArrTime
Heure d'arrivée réelle.
CRSArrTime
heure d'arrivée prévue.
UniqueCarrier
La compagnie de transport.
FlightNum
numéro de vol.
TailNum
3
Cette Data-Base est donnée par
33. Page | 33
MINIPROJETBIGDATA
plane's tail number (stored as factor).
ActualElapsedTime
Durée réelle du vol, en minutes
CRSElapsedTime
scheduled elapsed time of the flight, in minutes (stored as
integer).
AirTime
airborne time for the flight, in minutes (stored as integer).
ArrDelay
L’arrive en retard en minute
DepDelay
Le départ en retard en minute
Origin
Aéroport de départ
Dest
L’aeroport de d’arrivée
Distance
Distance de vol
TaxiIn
taxi time from wheels down to arrival at the gate, in minutes
TaxiOut
taxi time from departure from the gate to wheels up, in minutes
Cancelled
cancellation status
CancellationCode
cancellation code, if applicable
34. Page | 34
MINIPROJETBIGDATA
Diverted
diversion status
CarrierDelay
delay, in minutes, attributable to the carrier
WeatherDelay
delay, in minutes, attributable to weather factors
NASDelay
delay, in minutes, attributable to the National Aviation System
SecurityDelay
delay, in minutes, attributable to security factors
LateAircraftDelay
delay, in minutes, attributable to late-arriving aircraft
On applique la fonction rxsummary pour ArrDellay, on
trouve donc :
Avant tout ca , on doit tout d’abord importer notre fichier de l’annee
2008 selon la forma suivante
Chargement
de données
Temps de l’exécution
de l’opération
Le nombre des
fichiers existe
35. Page | 35
MINIPROJETBIGDATA
La moyenne de retard vaut 8.16 min, l’écart type vaut 38.50 4
La valeur minimum indique qu’il existe des vols qui sont partis avant
le temps de départ (519 min avant le temps réel du départ)
On observe aussi que les valeurs observées sont : 6 855 029 et les
valeurs que l’analyse n’arrive pas à les détectés sont :154 699.
On affiche maintenant les informations générales sur l’arrive en
retard et le temps prévue de départ du vol.
Application de la fonction rxHistogram :
4
On a attendu presque 3 minutes pour avoir les résultats :
La moyenne
L’écart type
Les valeurs observées
Le temps de
compilation
Les valeurs
mesurées
36. Page | 36
MINIPROJETBIGDATA
Il affiche les résultats suivants :
On a trouvé le graphe suivant :
Les chiffres de 1 à 7 correspondant aux lundi, mardi , …,
Dimanche respectivement
On applique la fonction de rxlinmod pour avoir le modelé
linéaire et ces coefficients et on a attendu 7 minutes pour
avoir les résultats :
37. Page | 37
MINIPROJETBIGDATA
Ce calcul est compilé en 4.415 seconds
L’affichage du temps d’exécution en utilisant la fonction rxLinMod() :
Donc le temps au cours de l’utilisation est de 1.96s.
38. Page | 38
MINIPROJETBIGDATA
− Comparaison avec Biglm :
Chargement de la bibliotheque :
On applique la même fonction system.time pour voir le temps
d’exécution
On trouve pour cette partie la chose suivante :
C’est 64.73 s c.-à-d. une augmentation de : 3202.5 fois d’où
l’importance d’application de package RevoScaleR.
39. Page | 39
MINIPROJETBIGDATA
Partie 2: La cartographie
I. Cartographies, Cartes:
1. Qu’est-ce que la cartographie :
La cartographie a pour but la représentation de la Terre ou d’une autre
planète sous une forme géométrique et graphique grâce à la conception, la
préparation et la réalisation de cartes. La cartographie est à la fois une
science, un art et une technique.
• C’est une science, car ses bases sont mathématiques, notamment en ce
qui concerne la détermination de la forme et des dimensions de la Terre
puis le report de la surface courbe de la Terre sur un plan (la carte) grâce
au système des projections et enfin l’établissement d’un canevas
planimétrique et altimétrique. L’enjeu est la précision et la fiabilité de la
carte.
• C’est un art, car en tant que mode d’expression graphique, la carte
doit présenter des qualités de forme (esthétique et didactique
grâce à la clarté du trait, à son expressivité et sa lisibilité) afin
d’exploiter au mieux les capacités visuelles du lecteur. Cela exige de
la part du concepteur et du réalisateur des choix dans la
représentation.
• C’est enfin une technique, car elle nécessite d’amont en aval,
l’emploi d’instruments dont les progrès ont bouleversé toute la
filière cartographique (photographies aériennes, satellites,
ordinateurs, impression et diffusion, etc.).
L’enjeu est de considérer la cartographie comme art d’expression et comme un
outil d’analyse, d’aide à la décision et de communication.
Les méthodes de la cartographie, c’est-à-dire la démarche et la réflexion
intellectuelle que supposent l’acte de concevoir, réaliser puis lire des cartes
40. Page | 40
MINIPROJETBIGDATA
La notion de carte n’est pas à confondre avec celle de plan* qui représente un espace
restreint. On parle de plans de maison, de quartier voire de ville mais jamais de plan de
France ou d’une région.
thématiques nécessitent d’autres compétences. Lire une carte thématique est en
soit un acte complexe qui ne répond à aucune recette prédéterminée.
L’expérience du lecteur dans un domaine quelconque et sa capacité à décrypter
la trame de l’organisation de l’espace géographique sont les deux facteurs-clefs
de la lecture efficace d’une carte. Il est cependant plus aisé de cerner les acquis
que réclament la conception puis la réalisation d’une carte thématique puisqu’ils
découlent plus ou moins directement d’une logique dans le choix du langage
cartographique. Pour résumer, le respect d’une série de règles et de méthodes
est garant d’une cartographie thématique efficace et fiable.
2. Carte :
Objet très ancien, plus ou moins complexe, aux multiples facettes et
utilisations, onne peut donner une seule définition de la carte. Toutes les
cartes ont néanmoins un point commun, celui de représenter une portion
de l’espace terrestre. Retenons deux définitions de la carte :
• Selon F. Joly, « une carte est une représentation géométrique, plane,
simplifiée et conventionnelle de tout ou partie de la surface
terrestre et cela dans un rapport de similitude convenable qu’on
appelle échelle ».
• La carte est un dessin réduit et à plat du Monde ou d’une portion du
Monde. Elle peut être aussi et d’autre part une représentation sur
un fond de carte géographique, d’un phénomène quelconque
concret ou abstrait. Cette représentation est faite sur papier ou sur
un autre support tel le verre, le bois ou un écran d’ordinateur. Une
carte est conçue à la main ou par une machine. Les distances sur la
carte sont toujours dans le même rapport que sur le terrain.
41. Page | 41
MINIPROJETBIGDATA
De ces définitions se dégagent cinq grands principes dont les conséquences
pratiques guident ou devraient guider le travail de tout cartographe,
professionnel ou non.
• La carte est une représentation, un dessin : la carte est donc un document
visuel. Ceci explique que la conception et la réalisation d’une carte
doivent respecter des règles simples mais rigoureuses, issues des lois de
la perception visuelle.
• La carte est une représentation plane : la carte matérialise le passage de
la sphère terrestre à un plan. Ce passage est réalisé grâce au procédé des
projections. L’obligation de la projection implique qu’aucune carte n’est
fidèle à la forme réelle de la surface terrestre. De plus, selon la projection
retenue, le visage du territoire projeté sera très différent. Cette contrainte
n’est impérieuse que dans le cadre d’une cartographie de grandes
étendues de terrain (travail à petite échelle).
• La carte est une représentation réduite : une carte n’a pas pour objectif
de représenter l’espace en vraie grandeur. Au contraire, le but est
d’obtenir document maniable sur lequel est représenté le terrain selon
un rapport de réduction : l’échelle.
• La carte est une représentation simplifiée : la réduction impose une série
d’opérations graphiques que l’on regroupe sous le nom générique de
généralisation et qui visent à choisir les objets à représenter et à
remplacer leurs formes observées sur le terrain par des figurés
conventionnels.
• La carte est une représentation conventionnelle : le cartographe utilise
un langage, le langage cartographique, qui possède sa propre grammaire.
Sa connaissance permet de transmettre au mieux une information
géographique.
De même que la définition de la cartographie a laissé entrevoir les deux grandes
branches de cette discipline, celle de la carte différencie deux grands types de
cartes : d’une part les cartes de base (appelées également cartes générales ou
42. Page | 42
MINIPROJETBIGDATA
encore cartes classiques) issues de la cartographie mathématique et d’autre part
les cartes spéciales.
Dès le 17ème siècle, l’homme a cartographié la Terre dans un but moins restrictif
que celui de représenter la topographie des pays et de décrire la Terre. Les
cartes sont devenues des instruments de connaissance, de décision, de prévision
et de planification au service des Etats. Sont donc apparues des cartes spéciales
ou cartes spécialisées aujourd’hui communément appelées cartes thématiques.
3. Cartographie sous R : théorie et pratique :
Dans de nombreuses situations, il peut être utile de représenter graphiquement
des disparités géographiques, par le biais d’une carte. Même si R n’est pas un
outil cartographique dédié (comme peut l’être ArcGIS ou QGIS), de
nombreux packages existent pour permettre de manipuler des données spatiales
et pour fabriquer des cartes.
L’utilisation de R peut s’avérer judicieuse quand il s’agit d’introduire la
production de carte dans un workflow d’analyse reposant déjà sur R. On évite
ainsi de multiples importations/exportations des données avec leur lot de
problèmes et erreurs, et on profite de la flexibilité du langage R et ses packages.
Ce document a pour but :
• D’introduire les principales notions théoriques en termes de
cartographie
• De montrer en pratique comment réaliser une carte à l’aide des
principaux packages (dont rgdal, sp)
3.1 Cartographie sous R : théorie
Pour réaliser une carte, on a généralement recours à plusieurs ingrédients :
• Un fond de carte sur lequel nous allons ajouter nos propres données.
• Un ensemble de données géolocalisées, qui peuvent s’appliquer soit à
un point, soit à une zone, qui devront être jointes à notre fond de carte.
43. Page | 43
MINIPROJETBIGDATA
• Un système de coordonnées cartographique et une projection qui
déterminent la façon dont les données géographiques sont représentés.
3.1.1 Le fond de carte
Un fond de carte permet de représenter graphiquement les caractéristiques
d’une région géographique d’intérêt. Le fond de carte permet de “planter le
décor” et d’apporter les éléments contextuels utiles. C’est sur ce fond de carte
que vont venir se greffer nos données géolocalisées.
Il existe une quantité infinie de fond de carte différent, qui peuvent
grossièrement être rangés dans deux catégories :
• Les représentations vectorielles (ou vector layer). Dans ce cas, les
caractéristiques de la région d’intérêt sont représentées sous la forme
d’un ensemble de formes (ou features) comme des points ou des tracés
(lignes, polygones…). Ce format est particulièrement adapté à la
représentation de zones géographiques bien délimitées, telles que les
limites administratives (pays, régions, départements, communes), les
limites géologiques, l’emplacement de villes, etc…
• Les représentations matricielles (ou raster layer). Dans ce cas, les
caractéristiques de la région d’intérêt sont stockées sous la forme d’une
image (ensemble de pixel rangé en lignes/colonnes, d’où le nom). A
chaque pixel est associé une valeur, permettant de décrire les
44. Page | 44
MINIPROJETBIGDATA
caractéristiques. Par exemple, l’altitude peut être représentée sous la
forme de pixels allant du vert au rouge, les plans d’eau peuvent être
représentés par des pixels de couleur bleu, etc…
Bien évidemment, il est possible de combiner plusieurs représentations pour
créer un fond de carte plus complexe.
3.1.2 Données géolocalisées
De nos jours, les données géolocalisées ne sont pas ce qui manque. Les données
géolocalisées peuvent être rattachées à une zone particulière (ex : à une région
ou un département français), ou bien être rattachées à un point (ex :
coordonnées GPS votre domicile).
En fonction du type de données (zone/point), l’exploitation qui peut en être faite
va varier. Avec des données de zone, il est possible de créer des cartes à bases
d’aplat de couleurs, ou carte choroplèthe. Avec des données de points, on
utilisera plutôt des représentations ponctuelles (ex : un point de taille variable,
en fonction de la valeur) ou des représentations de densité/intensité (carte de
chaleur, ou heatmap).
Pour les données de zone, on a généralement des données au format suivant :
• Une colonne pour l’identifiant de la zone concernée
• Une ou plusieurs colonnes contenant les valeurs des variables
d’intérêt (ex : population/m², nombre d’hospitalisations…)
L’enjeux sera alors généralement de fusionner sous R ces informations de zones
à un objet décrivant ces zones (lui-même issu d’un fichier SHP le plus souvent).
Par exemple, rattacher les informations sur le nombre d’hospitalisation par
départements à un objet spatial contenant les contours des départements… A
noter que dans ce cas-là, les problèmes de coordonnées/projection ne se posent
qu’à la création de l’objet spatial, pas à l’import des données.
Pour les données ponctuelles, on a généralement les données au format suivant :
45. Page | 45
MINIPROJETBIGDATA
• Une colonne longitude
• Une colonne latitude
• Une ou plusieurs colonnes contenant les valeurs des variables d’intérêt
Dans cette situation, il est impératif de connaître le système de
coordonnées utilisé pour le calcul des coordonnées géographiques, sans quoi la
représentation sera fausse. Le plus souvent, c’est le système WGS84 qui sera
utilisé (si on parle de GPS quelque part ou que ce n’est pas précisé, c’est le
WGS84…). Si on souhaite fusionner ces données à un objet spatial (raster ou
vectoriel), il faudra s’assurer que les systèmes de coordonnées et la projection
est la même.
L’enjeu sera ici de créer un objet spatial à partir des coordonnées
longitude/latitude, puis d’ajouter/fusionner les données d’intérêt.
3.1.3 Système de coordonnées et projection
cartographique
Imaginons qu’on souhaite expliquer à quelqu’un où se situe précisément Paris
sur la Terre. Il y a une quantité infinie de façon de le faire, en fonction du
référentiel utilisé. Prenons par exemple comme point d’origine Rio de Janeiro, au
Brésil. Dans ce cas-là, on peut situer Paris en précisant que la ville est à X km vers
l’Est, et à Y km vers le Nord. A partir du point d’origine (Rio de Janeiro) et
des coordonnées (X, Y), vous avez la position de Paris. Cette position sous-entend
que la position de Rio de Janeiro est déjà connue, et qu’il est admis que les
coordonnées sont données en Est puis Nord, en kilomètres.
Mais, si cela peut sembler suffisant de première abord, il existe un grand nombre
de paramètres qui ne sont pas pris en compte ici : la dérive des continents (la
distance Rio/Paris change constamment), la déformation de la Terre (qui n’est
pas une sphère parfaite), l’altitude…
46. Page | 46
MINIPROJETBIGDATA
En pratique, pour positionner des éléments sur le globe, on a recours aux
coordonnées à base de
latitude/longitude.
Ces coordonnées vont dépendre de plusieurs éléments, les principaux étant :
• L’ellipsoïde de référence, c’est-à-dire la forme de la sphère qui va
représenter la Terre. Comme dit juste au-dessus, la terre n’est pas une
sphère parfaite : elle présente des irrégularités plus ou moins
importantes selon les endroits (en gros, c’est une patatoïde !). Pour les
calculs, on utilise des approximations, des formes simplifiées qui
s’approche de la forme de la Terre : des ellipsoïdes de révolution.
En fonction des utilisations et de la représentation voulue, le choix de
l’ellipsoïde doit être adapté. Par exemple, pour une représentation globale
de la Terre, on choisira l’ellipsoïde globalement le plus proche de la forme
générale de la Terre. A l’inverse, pour une représentation d’une zone
particulière (ex : la France) on peut utiliser un ellipsoïde plus proche de la
forme de la Terre à cette zone, pour des raisons de précisions.
Parmi les ellipsoïdes fréquemment utilisés, on peut citer le WGS84 (celui
utilisé dans le système du même nom) ou l’IAG-GRS80 (celui utilisé dans
le système Lambert-93). A noter que, malgré quelques différences
subtiles, ces deux ellipsoïdes sont quasi-identiques.
47. Page | 47
MINIPROJETBIGDATA
• Un point d’origine. Selon les cas, l’origine sera déterminée soit par la
position du centre de l’ellipsoïde, soit par un point de référence à la
surface de la terre.
On regroupe l’ensemble de ces éléments sous le terme de système de
coordonnées géographique (coordinate reference system ou CRS pour nos amis
anglais) ou de datum. Il en existe une très grande quantité.
Pour faire de la cartographie, un paramètre supplémentaire est nécessaire. En
effet, une carte est une représentation plane du globe terrestre, il faut donc
appliquer une projection aux coordonnées pour pouvoir les afficher dans un
plan. Là aussi, de multiples possibilités s’offre à nous : projection cylindrique,
projection conique… avec des propriétés distinctes. Le choix de la projection va
fortement influencer le rendu sur la carte (ex : taille et forme des pays).
L’ensemble datum + projection est désigné par le terme système de référence
spatiale (spatial reference system ou SRS). Ils sont référencés sous la forme
d’un code EPSG à 4 chiffres, pour simplifier leur utilisation.
3.2 Cartographie sous R : pratique
Nous allons utiliser les packages « sp » et « rgdal » pour importer un fond de
carte au format SHP reprenant le tracé des communes de France. Nous
travaillerons ensuite sur l’Ile-de-France : des données extérieures sur le temps
de parcours pour hospitalisation seront jointes à notre object spatial, et une
carte basée sur ces données sera produite.
Les packages « RColorBrewer » et « classInt » seront utilisés pour sélectionner
des groupes de couleurs adaptées, et pour catégoriser simplement des variables,
respectivement.
Le rendu des cartes se fera par l’intermédiaire du package base, partie intégrante
de la distribution standard de R. D’autres packages,
comme « ggplot2 », « rCarto », « maptools » ou « ggmap » (un dérivé
de « ggplot2 ») peuvent être utilisés. Des exemples utilisant ces packages seront
ajoutés à l’avenir.
48. Page | 48
MINIPROJETBIGDATA
Première chose à faire : installer et charger les packages nécessaires
# Importation des librairies nécessaires
3.2.1 Chargement des données spatiales
Il existe plusieurs façons de charger des données spatiales dans R, faisant intervenir
différents packages. Ici, nous utiliserons uniquement les fonctions de chargement
issus du packages « rgdal ». Ce package est une interface entre R et la “Geospatial
Abstraction Library” (GDAL), une bibliothèque de fonctions dédiées aux
manipulations de données spatiales très largement utilisée.)
La fonction « ogrInfo » permet de scanner les données que l’on veut manipuler, de
façon à vérifier qu’elles seront bien lues et reconnues par la suite. Cette
fonction « ogrInfo » (tout comme « readOGR », qu’on va voir plus loin) prend 2
arguments indispensables :
• le chemin pointant vers le fichier SHP et ses données associées. Si vos
données sont dans le répertoire courant de travail sous R, il est quand même
nécessaire de remplir cet argument, avec “.” (le point . désignant sous R le
répertoire de travail courant)
• le nom du layer, c’est-à-dire le nom du fichier .SHP (sans mettre l’extension
au bout). Il est communément admis que l’ensemble des fichiers relatifs au
fichier SHP portent le même nom, seule l’extension change. Ex :
COMMUNE.SHP est accompagné de COMMUNE.PROJ, de
49. Page | 49
MINIPROJETBIGDATA
COMMUNE.DBF, etc. Ainsi, avec une commande, R va charger le SHP,
reconnaitre la projection et charger les données associées…
On commence par déterminer l’emplacement de notre fichier SHP, et on scan son
contenu :
# Emplacement de l'archive décompressée, à remplacer par le notre
# Description des données via orgInfo
Ici, on voit que les données sont correctement reconnues (driver adapté au format
ESRI Shapefile, le SRS est reconnu, les données associées sont bien présentés). A
noter que pour accéder directement aux données de coordonnées/projection (pour
50. Page | 50
MINIPROJETBIGDATA
vérifier ou modifier ces informations), il est plus simple d’utiliser directement la
fonction « proj4string() ».
Les données étant OK, on peut importer le fichier SHP et ses données associées via la
fonction « readOGR() », afin de créer un objet nommé ici comm. On regarde ensuite
la structure de l’objet crée par « rgdal » .
# Importation via la fonction readOGR de rgdal
# Description de la structure globale
Les objets créés via « readOGR » ont des structures particulières. Ils sont divisés en
plusieurs sous-objets, ou slots, préfixé par le symbole @. Chaque sous-objet possède
sa propre structure, et ses propres informations. Pour y accéder, la commande suit le
même motif que pour accéder à une variable dans un dataframe, mais via le
symbole @ au lieu du symbole $.
51. Page | 51
MINIPROJETBIGDATA
Les informations de géométries, relatives au fichier .SHP, sont stockées dans les
slots « @polygons », « @plotOrder » et « @bbox ». Les données associées, issues du
fichier .DBF, sont dans le slot « @data ». Enfin, les données de projection, issues du
fichier .PROJ, sont dans un slot à part, « @proj4string ». Pour plus d’informations,
vous pouvez regarder la documentation accompagnant cette classe particulière avec la
commande « class?SpatialPolygons ».
Jetons par curiosité un oeil au slot « @data » :
# Description de la structure des données associées
On voit ici le nom des variables importées, et leur format (numérique, caractère…).
De même pour le slot « @polygons » :
# Description de la structure des données vectorielles
head(comm@polygons, n=1)
Nos données associées, comme le code INSEE de la commune, son nom, son statut
administratif, sa superficie, sa population, etc… sont correctement importées dans
notre slot « @data ».
On peut dès à présent fabriquer une carte très simple représentant les contours des
communes, à partir des données spatiales extriates. A titre d’exemple, on va utiliser
ici la nouvelle méthode de « plot », spécifique à la classe « SpatialPolygons » et
ajouté par le package sp. Concrètement, cet ajout permet d’utiliser la fonction
classique « plot » pour représenter graphiquement des objets spatiaux.
52. Page | 52
MINIPROJETBIGDATA
# On représente les contours des communes de France avec la fonction
plot
plot(comm)
Il y
vraiment beaucoup de communes en France ! Du coup, une telle carte est
difficilement lisible et particulièrement longue à créer..Et si on se limitait à l’Ile-de-
France pour nos tests ?
Pour représenter uniquement les communes d’Ile-de-France (astuce : c’est la région
numéro 11), il suffit d’appliquer une sélection “classique” à l’objet « comm » grâce
aux variables à notre disposition, comme on pourrait le faire avec un dataframe.
# On plot les communes contenues dans l'Ile-de-France (CODE_REG
égal à 11)
53. Page | 53
MINIPROJETBIGDATA
plot(comm[comm$CODE_REG=="11",],)
On obtient donc bien la carte des contours des communes d’Ile-de-France.
Supposons maintenant qu’on veut faire ressortir de cette carte les communes dont la
population est de moins de 10 000 habitants. On peut chaîner les critères de
sélections, comme on le fait habituellement via & ou | :
54. Page | 54
MINIPROJETBIGDATA
# Communes d'IDF avec moins de 10 000 habitants
Notre carte ressemble à du gruyère ! C’est normal, puisque R n’a représenté que les
communes remplissant nos critères. Les autres communes n’ont donc pas été traitées
et sont absentes de la carte…
3.2.2 Utiliser des données externes dans notre carte
Nous avons vu comment créer une carte très simple à partir de données spatiales et
des données associées. Les données associées sont généralement très limitées, et ne
contiennent pas le plus souvent les informations qui nous intéressent réellement. Il est
donc nécessaire de marier nos données spatiales avec des données externes.
Pour cet exemple, on a choisi un jeu de données décrivant la distance parcourue par
un patient pour se rendre sur son lieu d’hospitalisation. Cette distance est calculée ici
en terme temps moyen de trajet (en minutes) pour accéder en voiture au lieu
d’hospitalisation. Comme d’habitude, le fichier est au format XLS et comporte des
mentions (titre, précision, etc.…) rendant son utilisation directe impossible. Pour
gagner du temps, vous trouverez ici une version utilisable de la table de données.
Commençons par importer nos données :
# Emplacement des données
55. Page | 55
MINIPROJETBIGDATA
# Import des données en respectant le format "Character" des codes
communes
tempsTrajet <- read.csv2(file = pathToData, stringsAsFactor = FALSE, colClasses =
c("character", "integer"))
# Verification import
Nous avons donc d’un coté notre objet « comm » comprenant nos données spatiales et
les données associées, et d’un autre côté notre objet « tempsTrajet » comprenant nos
données externes. L’idée est de rajouter nos données externes aux données associées
déjà présentes dans notre slot « @data ». De cette façon, on conserve les informations
de base (le nom des communes, leur numéro de département, etc…) tout en ajoutant
les informations pertinentes pour nos analyses (les temps de trajet).
Plusieurs façons de réaliser cet ajout sont possibles. De façon générale, il faut faire
attention à ne pas bousculer l’ordre des données du slot « @data » car ces données
sont jointes ligne-à-ligne avec les données spatiale. On peut utiliser la
fonction « match () », la classique fonction « merge() », voir la
fonction « left_join() » issue du package « dplyr » (les habitués du SQL seront en
terrain familier).
Pour la beauté de l’exemple, la fonction « match() » est utilisée ici. On constitue un
nouveau dataframe, composé d’une part des données originales, et d’autre part des
données de temps de trajet, rangées dans le même ordre que les données originales,
grâce à « match() ». Les variables clefs permettant d’identifier uniquement chaque
commune n’étant pas les mêmes dans les deux jeux de données, elles sont précisées
manuellement.
# On remplace le slot @data par un nouveau tableau de données,
contenant les anciennes données + les nouvelles
56. Page | 56
MINIPROJETBIGDATA
On a bien fusionné nos informations, mais on remarque au passage que nous avons
récupéré toutes les colonnes de « tempsTrajet », y compris la
variable « commune » qui fait doublon, mais passons.
En étant plus pragmatique, nous aurions pu faire un simple :
# Chargement de dplyr
57. Page | 57
MINIPROJETBIGDATA
# On remplace le slot @data par un nouveau tableau de données,
contenant les anciennes données + les nouvelles
Imaginons maintenant qu’on souhaite produire la carte des temps de trajet, pour la
région Ile-De-France. Nous allons réduire notre jeu de données pour ne garder que la
région Ile-De-France. Nous allons aussi utiliser « classInt » pour discrétiser notre
temps de trajet, et « RColorBrewer » pour choisir des couleurs adaptées à notre
nouvelle variable discrète.
# Filtrage des données pour ne garder que la région Ile-De-France
# Vérification
# Découpage du temps de trajet en 5 classes via la méthodes des
quantiles : idenfication des bornes (breaks, ou brks)
classTemps <- classIntervals(idf@data$temps, 5, style = "quantile")
# Choix d'une palette de couleur pour les 5 catégories
# Application de ce découpage à variable temps, sauvegarde dans
temps_cat
58. Page | 58
MINIPROJETBIGDATA
# On stocke, pour chaque observation, la valeur de la couleur
correspondante
# On stocke l'information des classes pour créer une légende
# Vérification
Il ne reste plus qu’à faire notre carte :
# Avec le package base
59. Page | 59
MINIPROJETBIGDATA
CONCLUSION
L'explosion quantitative des données statistiques a obligé les
chercheurs à trouver de nouvelles manières de voir et d'analyser
le monde. Il s'agit de découvrir de nouveaux ordres de grandeur
concernant la capture, la recherche, le partage, le stockage,
l'analyse et la présentation des données comme le Big Data.
60. Page | 60
MINIPROJETBIGDATA
Partie 3 : ACP (Analyse en
Composantes Principales) :
Généralité :
n individus observés sur p variables quantitatives.
L’A.C.P. permet d’explorer les liaisons entre variables et les
ressemblances entre individus.
Résultat : (ce qu’il faut obtenir après application de ACP)
➢ Visualisation des individus (Notion de distances entre
individus)
➢ Visualisation des variables (en fonction de leurs corrélations)
INTERPRÉTATION DES RÉSULTATS DETAILS :
1-Mesurer la qualité des représentations obtenues :
-critère global.
-critères individuels.
2- « Donner des noms aux axes » :
-Expliquer la position des individus
3- Utilisation éventuelle de variables supplémentaires
Position du Problème:
1-LES DONNÉES
p variables quantitatives observées sur n individus.
On cherche à représenter le nuage des individus.
A chaque individu noté ei, on peut associer un point dans
Rp = espace des individus.
A chaque variable du tableau X est associé un axe de Rp.
62. Page | 62
MINIPROJETBIGDATA
« Perdre le moins d’information possible»
sont basées sur les notions de :
- Distance
- projection orthogonale
63. Page | 63
MINIPROJETBIGDATA
3. LE CHOIX DE LA DISTANCE ENTRE INDIVIDUS :
Pour résoudre ce problème, on choisit de transformer les données en
64. Page | 64
MINIPROJETBIGDATA
données centrées-réduites.
L’observation est alors remplacée par :
UNITÉS D’ÉCART TYPE:
Exemple :
Puissance moyenne de 30 voitures = 92 ch Ecart-type = 24 ch
La Renault 21 TXI a une puissance de 140 ch
La Renault 21 TXI a une puissance de :
2 écarts-type au-dessus de la moyenne.
4. INERTIE TOTALE :
L’inertie mesure la dispersion totale du nuage de points.
L’inertie est donc aussi égale à la somme des variances des variables
étudiées.
65. Page | 65
MINIPROJETBIGDATA
En notant V la matrice de variances-covariances :
Remarque :
Dans le cas où les variables sont centrées réduites, la variance de
chaque variable vaut 1. L’inertie totale est alors égale à p (nombre de
variables).
Équivalence des deux critères concernant la perte d’information.
66. Page | 66
MINIPROJETBIGDATA
LA SOLUTION DU PROBLÈME POSÉ :
La recherche d’axes portant le maximum d’inertie équivaut à la
construction de nouvelles variables (auxquelles sont associés ces
axes) de variance maximale.
En d’autres termes, on effectue un changement de repère dans Rp de
façon à se placer dans un nouveau système de représentation où le
premier axe apporte le plus possible de l’inertie totale du nuage, le
deuxième axe le plus possible de l’inertie non prise en compte par le
premier axe, et ainsi de suite. Cette réorganisation s’appuie sur la
diagonalisation de la matrice de variances-covariances.
SOLUTION :
Axes principaux :
On appelle axes principaux d’inertie les axes de direction les
vecteurs propres de V normés à 1.
Il y en a p.
Le premier axe est celui associé à la plus grande valeur propre.
On le note u1
67. Page | 67
MINIPROJETBIGDATA
Le deuxième axe est celui associé à la deuxième valeur propre. On le
note u2
Composantes principales :
À chaque axe est associée une variable appelée composante
principale.
La composante c1 est le vecteur renfermant les cordonnées des
projections des individus sur l’axe 1.
La composante c2 est le vecteur renfermant les cordonnées des
projections des individus sur l’axe 2.
Pour obtenir ces coordonnées, on écrit que chaque composante
principale est une combinaison linéaire des variables initiales.
Exemple :
2. PROPRIÉTÉS DES COMPOSANTES PRINCIPALES :
1-La variance d’une composante principale est égale à l’inertie
portée par l’axe principal qui lui est associé.
1ère composante c1 variance : λ1
2ème composante c2 variance : λ2
3ème composante c3 variance : λ3
2- Les composantes principales sont non corrélées deux à deux.
En effet, les axes associés sont orthogonaux.
3. REPRÉSENTATION DES INDIVIDUS :
La jème composante principale fournit les
coordonnées des n individus sur le jème axe
principal.
68. Page | 68
MINIPROJETBIGDATA
Si on désire une représentation plane des individus, la meilleure
sera celle réalisée grâce aux deux premières composantes
principales.
4. REPRÉSENTATION DES VARIABLES
Les « proximités » entre les composantes principales et les variables
initiales sont mesurées par les covariances, et surtout les
corrélations.
r (cj ,xi ) est le coefficient de corrélation linéaire entre c j et xi
69. Page | 69
MINIPROJETBIGDATA
5. INTERPRETATION DES « PROXIMITÉS » ENTRE
VARIABLES
On utilise un produit scalaire entre variables permettant d’associer
aux paramètres courants : écart-type, coefficient de corrélation
linéaire des représentations géométriques.
On suppose les variables centrées.
70. Page | 70
MINIPROJETBIGDATA
III. VALIDITÉ DES REPRÉSENTATIONS :
1. CRITÈRE GLOBAL :
Mesure la part d’inertie expliquée par
l’axe i.
Exemple :
Est la part d’inertie expliquée par le premier plan
principal.
Ce critère (souvent exprimé en pourcentage) mesure le degré
dereconstitution des carrés des distances.
La réduction de dimension est d’autant plus forte que les
variables de départ sont plus corrélées.
Combien d’axes ?
71. Page | 71
MINIPROJETBIGDATA
Différentes procédures sont complémentaires :
1-Pourcentage d’inertie souhaité : a priori
2-Diviser l’inertie totale par le nombre de variables initiales
➔ Inertie moyenne par variable : I.M.
Conserver tous les axes apportant une inertie supérieure à cette
valeur I.M.
(Inertie > 1 si variables centrées réduites).
2. CRITÈRES INDIVIDUELS :
Pour chaque individu, la qualité de sa représentation est définie par
le carré du cosinus de l’angle entre l’axe de projection et le vecteur .
72. Page | 72
MINIPROJETBIGDATA
Plus la valeur est proche de 1, meilleure est la qualité de
représentation
En général, les qualités de représentation sont données axe par axe.
Pour avoir la qualité de représentation dans un plan, on additionne
les critères correspondant aux axes étudiés.
Ce critère n’a pas de signification pour les individus proches de
l’origine.
Quand on détecte un individu pour lequel le cosinus carré est faible,
on doit tenir compte de sa distance à l’origine avant d’indiquer qu’il
est mal représenté
Contributions :
Il est très utile aussi de calculer pour chaque axe la contribution
apportée par les divers individus à cet axe.
Considérons la kième composante principale Ck, soit Cik la valeur de
la composante pour le ième individu.
Remarque :
✓ Il n’est pas souhaitable qu’un individu ait une contribution
excessive (car facteur d’instabilité) ➔ éliminer les individus
dont la contribution est trop importante.
✓ Problème des enquêtes par sondage
3. REPRÉSENTATION DES VARIABLES :
73. Page | 73
MINIPROJETBIGDATA
4. INTERPRÉTATION EXTERNE : VARIABLES ET INDIVIDUS
SUPPLÉMENTAIRES (ILLUSTRATIFS) :
4.1 Variables
•Variable quantitative :
On calcule le coefficient de corrélation entre la variable
supplémentaire et les composantes principales.
Ceci permet sa représentation sur le cercle des corrélations.
74. Page | 74
MINIPROJETBIGDATA
4. Etude de cas sous « Logiciel XLSTAT »
XLSTAT est un logiciel d’analyse de données
convivial qui s’intègre a Excel
Historique : c’est un logiciel en pleine croissance
77. Page | 77
MINIPROJETBIGDATA
Commentaires :
-Montant facture diminue avec temps passé sur le site
-Clients plutoniens passent moins de temps sur le site
que les autres
Remarque :
Imaginez le même raisonnement sur un nombre plus
élevé de variables…
Dans ce cas, on veut raisonner de la même manière
qu’avec le nuage de points (2D), mais en utilisant un
tableau a plus de 2 colonnes (dimensions)
78. Page | 78
MINIPROJETBIGDATA
On veut pouvoir résumer un jeu de données à
plusieurs colonnes sur quelques graphiques simples.
On pourra examiner :
-Les relations entre variables
-La proximité des individus entre eux
-La caractérisation des individus par les variables
ACP : Concept
ACP : paramétrage sur XLSTAT
81. Page | 81
MINIPROJETBIGDATA
Focus sur la notion de groupes ‘homogènes
d’individus détectés’ :
Conclusion :
Au cours de la réalisation de notre projet, on a eu l’occasion
d’améliorer nos connaissances acquises durant notre
formation et aussi d’approcher un petit peu la notion de Big
Data qui est très importante.
Finalement, On souhaite que ce modeste travail
trouve une bonne appréciation et sera un manuel
d’information pour toutes les étudiantes et tous les
étudiants
82. Page | 82
MINIPROJETBIGDATA
Annexe :
Le processus d’installation de RHadoop sur Machine virtuelle
Cloudera sur VirtualBox :
A. Téléchargement et installation de VirtualBox :
• On télécharge le logiciel à partir de son site officiel
https://www.virtualbox.org/
• On choisit la version convenable avec notre système
d’exploitation (Windows, OS, Linux, etc..)
83. Page | 83
MINIPROJETBIGDATA
• Apres l’installation, on doit avoir trouver une page d’accueil
comme celle-ci :
B. Téléchargement et installation de Cloudera sur
VirtualBox :
• On ouvre le lien suivant
https://www.cloudera.com/downloads/quickstart_vms/5-
13.html et on choisit le platform convenable (Virtual Box) :
84. Page | 84
MINIPROJETBIGDATA
• Après avoir remplir un formulaire, vous pouviez télécharger
votre Cloudera QuickStarts 5.13 (c’est presque 6GO)
• On revient à la page d’accueil de VirtualBox et on clique sur
importer
• On choisit le fichier virtuel (Cloudera QuickStarts 5.13)5
5
Ce fichier doit être extrait en deux fichiers.
1
2
85. Page | 85
MINIPROJETBIGDATA
• En cliquant sur Suivant, après on clique sur Importer et on le
laisse installer et configurer notre Cloudera 6
• Avant de démarrer notre Cloudera, on doit vérifier qu’on a les
configurations suivantes :
• En cliquant sur notre machine virtuelle, on clique sur
Configuration et on fixe les configurations suivantes :
7
6
C’est environ 3 ou 4 minutes.
7 Si vous ne trouvez pas la version 64-bit, il faut modifier la VIRTUALIZATION en Enabled dans
votre Windows BIOS.
Vous pouviez consulter la vidéo suivante pour bien comprendre
https://www.youtube.com/watch?v=-Wa7TGjmn5M.
Il est obligatoirement
demandé qu’on installe la
version (64-bit)
1
2
86. Page | 86
MINIPROJETBIGDATA
• On clique sur Système et on fait les configurations
suivantes :
o Pour la RAM.
Pour la RAM, on choisit le plus grand possible sans toucher les
configurations de Système d’Exploitation réel
o Pour le Processeur.
La même chose ici, on choisit le plus grand possible.
• Maintenant, on démarre notre Cloudera en cliquant sur
démarrer
87. Page | 87
MINIPROJETBIGDATA
Le premier démarrage prend en général entre 4 et 5 minutes.8
C. L’installation de R, RStudio et les packages nécessaires :
Après avoir démarrer votre Cloudera, Voici l’image que vous allez
trouver :
8
Ces intervalles du temps se peuvent être changé selon la RAM , Le PROCESSEUR de votre Ordinateur.
88. Page | 88
MINIPROJETBIGDATA
• L’installation de R et de RStudio est simple, il suffit
d’ouvrir un Terminal et écrire les lignes suivantes :
#Installation de R
$ sudo yum install R
il doit vous donner de télécharger des packages nécessaires, vous
répondriez oui (c’est ‘y’ qui signifie Yes)
Pour vérifier que R est bien installer, on écrit $sudo R , vous allez
trouver :
Terminal
Pour accéder au
moteur de recherche
89. Page | 89
MINIPROJETBIGDATA
✓ L’installation de packages nécessaires :
• En démarrant R en mode administrateur via le terminal :
$sudo R.
• On installe les packages nécessaires pour programmer dans
Hadoop :
install.packages(c("RJSONIO","Rcpp", "bitops", "caTools",
"digest","functional", "stringr", "plyr", "reshape2","rJava"))9
− Installation des packages spécifiques sous R :
Tout d’abord, on doit télécharger les fichiers de packages
rhdfs et rmr2 :
− On ouvre le lien suivant et on télécharge les deux fichiers
suivants :
− https://github.com/RevolutionAnalytics/RHadoop/wi
ki/Downloads
−
9
Si vous avez trouvé des difficultés au cours de l’installation de ces packages, vous pouviez utiliser la
fonction install.packages() toute seule et sans paramètres et choisissez les packages nécessaires avec
la source convenable ( US California ça marche très bien )
90. Page | 90
MINIPROJETBIGDATA
$ cd Downloads/
$ ls - l
Il affiche les fichiers :
On ouvre R en mode administrateur :
2
1
91. Page | 91
MINIPROJETBIGDATA
• Il faut d’abord spécifier les valeurs des variables
d’environnement -indiquant la localisation du système hadoop
sur notre machine - avant de pouvoir l’installer. Nous utilisons
la Commande Sys.setenv() sous R.
• d’où les deux packages sont bien installer
• On ouvre un nouveau terminal et on télécharge RStudio en
respectant les étapes suivantes :
− On ouvre le lien suivant :
https://www.rstudio.com/products/rstudio/download-server/
92. Page | 92
MINIPROJETBIGDATA
On choisit RedHat/CentOS
− On choisit la version 64-bit :
Pour le télécharger, on ouvre un terminal et on écrit :
$ wget https://download2.rstudio.org/rstudio-server-rhel-1.1.463-
x86_64.rpm
Pour l’installer, on écrit :
$ sudo yum install rstudio-server-rhel-1.1.463-x86_64.rpm
− RStudio s’ouvre comme un server, pour savoir le server,
on ouvre le terminal et on écrit :
$ifconfig
Par exemple, vous allez trouver :
94. Page | 94
MINIPROJETBIGDATA
− Vous allez trouver la chose suivante :
D. L’installation de package RevoScaleR pour utiliser les
fonctions : rx-Summary, rx-LinMod,etc…
Il faut savoir que La bibliothèque RevoScaleR est un ensemble de
fonctions R portables, évolutives et distribuables permettant
d'importer, de transformer et d'analyser des données à grande
échelle.
Parmi les packages de distribution de ce package, on trouve R Client
de Microsoft
Pour l’installer, il faut respecter les étapes suivantes :
1. L’installation de R Client Microsoft
− Fermez RStudio s'il est déjà ouvert.
− Démarrez une session de terminal et connectez-vous en tant
que root (sudo su).
− Ecrire le code suivant : rpm -Uvh
https://packages.microsoft.com/config/rhel/6/packages-
microsoft-prod.rpm
− ls -la /etc/yum.repos.d/ #cette ligne est pour bien vérifier les
configurations de l’enregistrement .
95. Page | 95
MINIPROJETBIGDATA
− yum install microsoft-r-client-packages-3.4.3 #c’est pour
installer R client packages .
2. La configuration de RStudio pour RevoScaleR :
− Fermez RStudio s'il est déjà ouvert.
− Démarrez une session de terminal et connectez-vous en tant
que root (sudo su).
− Ecrire le code suivant : gedit
/opt/microsoft/rclient/3.4.3/runtime/R/etc/Renviron
− Ca va ouvrir un fichier, on cherche le fichier : R_LIBS_USER
− On ajoute au-dessous de cette ligne la ligne suivante :
R_LIBS_SITE=/opt/microsoft/rclient/3.4.3/libraries/RServe
r
− On clique sur Save et on ouvre notre Rstudio :
Donc notre bibliothèque est bien fonctionnée.
E. L’installation de la bibliothèque « biglm » :
− Il suffit tout simplement de connecter le R comme un
administrateur (c a d sudo R .)
− Ecrire : install.packages(‘‘biglm’’) :
96. Page | 96
MINIPROJETBIGDATA
Généralement, c’est une installation rapide et simple mais, on trouve
un cas très fréquent c’est lorsqu’il indique que le fichier lquadmath
n’existe pas !!!
La solution tout simplement, est d’ouvrir un terminal et écrire les
choses suivantes :
1. Entrer selon le mode root selon la chose suivante :
− $ Sudo su
2. On cherche le chemin du fichier libquadmath :
− ldconfig -p | grep libquad*
− Il doit afficher les résultats suivants :
Donc, Le problème semble être que libquadmath.so.0 est
enterré dans le
| | /usr/ lib64/libquadmath.so.0 où le compilateur ne peut
apparemment pas le voir.
3. La solution est très simple, il suffit de respecter les étapes
suivantes :
− $cd /usr/lib64. # accéder au chemin suivant
− sudo ln -s
/usr/lib64/libquadmath.so.0/usr/lib64/libquadmath.so # on
permet le compilateur de voir le fichier .
Fin