De rioT, des timeseries et de la prédiction avec Android, Cassandra

Transcription

De rioT, des timeseries et de la prédiction avec Android, Cassandra
PAYS : France
DIFFUSION : (20000)
PAGE(S) : 14
SURFACE : 87 %
PERIODICITE : Mensuel
1 juillet 2016 - N°198
De rioT, des timeseries et de la prédiction avec
Android, Cassandra et Spark
A l'heuredes objets connectés,du Big Dataet du machineLearning,nous pouvons voirque la
pleineexploitationde ces technologiesest encore timideet que celles-cipeuventêtre mal
articuléesentre-elles.Aussi quand est paru leprogramme de Devoxx2016, la conférenceanimée
parAmira Lakhal,représentantedes DuchessFranceet égalementdéveloppeuseagileJavaet
Scala,nepouvait être qu'enthousiasmante.
ticulier et en y associant
Audrey COTON
Ingénieur Etude
R
chez
&
Netapsys
Développement
de création
Atlantique
NET/lPSyS
ingénierie
informatique
Le pitch et la promesse de ces 45 minutes :
« Le nombre
d'augmenter
des objets connectés
ne cesse
de jour en jour. Nul ne peut Igno-
rer leur potentiel
et surtout l'Impact
le user concerné
date du jour, Amira contourne
que ces
de SSTable, à chaque insertion
buée la plupart
En effet même si cette limite est impressionnan-
Machine
te, un capteur qui établit une mesure toutes les
Forest.
secondes,
Une fois le training
c'est plus de 31,5 millions de valeurs
dont
l'algorithme
de
Random
effectué et quelques
étapes
réutilisable
est maintenant
en service
sur un service
une série d'enre-
X, Y, Z, de timestamp
associés par
plus tard - Feature Enginee-
Mise
REST, l'application
peut enfin prédire/interpréter
en temps réel l'activité de son utilisateur.
La démonstration
les données depuis un capteur du smartpho-
en live d'un volontaire courant,
marchant ou se tenant simplement
ne, les stocker dans Cassandra, et, enfin, les
L'analyse
analyser
Une fois ces échantillons
avec
Learning
distri-
courants
exploitable.
un user sur une activité définie Fig.1.
activité
de manière
ring - un modèle
toutes les mil-
gistrements
notre
d'exécuter
des algorithmes
volume pour des enregistrements
nées. L'objectif
prédire
permet
de transformation
connecté et de quelle façon analyser ses don-
pour
en amont. Eh oui, les
à la fin de l'année I Je vous laisse imaginer le
Nous avons donc maintenant
collecter
enregistrées
cobayes n'ont pas couru, marché, pour rien.
Et MLlib
Je vais vous présenter
est de voir comment
de référence
de
de colonnes pour une même table.
lisecondes...
d'objet
me Random Forest sur la base des informations
nouvelles données ainsi que la limite du nombre
objets pourraient avoir sur notre quotidien.
un exemple
et la
la problématique
de cette conférence
de valeurs
l'étape d'analyse commence
stockés,
et le machine Lear-
moment
original
immobile
reste un temps
de la présentation
lors
fort et un
d'Amira
Lakhal
Nous avons donc 3 étapes à réaliser : le recueil
ning entre en jeu. En effet la participation
de données, l'analyse de celles-ci et l'interpréta-
cun des cobayes sert ici à éditer un modèle de
Pour conclure
tion que nous leur donnons.
données.
Nous avons pu assister en live à l'enregistrement
Quelles sont les données représentant
Le recueil
et d'une équipe
cobayes, Amira a recueilli un échantillon
nées complet.
une simple
application
temps.
Android
suffit.
essentielle
: le
En effet toutes les données émises par
sont horodatées.
ration de l'accéléromètre
permet
de récupérer
les mesures dans les trois dimensions
X, Y et Z. Ici, cette simple application
cialement
customisée
L'accélé-
quelle activité était en cours : Standing,
Sitting, Walking ou Running.
de la
tient surtout
dans l'utilisation
par
l'application
du
Data open source construit
des
té menée. La promesse de cette conférence
analyses sophistiquées
d'utilisation,
démonstration
connecteurs
Streaming
pour effectuer
et conçu pour la rapidité
que continue
d'Amira.
Il existe
entre Cassandra
les méthodes
top, en y définissant
des
et Spark, Spark
semblant idéal. Amira l'adapte
en implémentant
la
déjà
donc
onStart et OnS-
son contexte
Spark et sur-
la durée des batchs qui seront
analysés.
L'interprétation
fut
tenue haut la main I
Amira Lakhal ayant open-sourcé
l'ensemble
de
son projet, je ne peux que conseiller d'aller jeter
un
coup
d'oeil
sur
son
gitHub
https://github.com/MiraLak/
Je nuancerai cette démonstration
par une préci-
sion : on assiste ici à une remarquable
tration
» d'analyse
en temps
« démons-
réel mais
nous
sommes encore loin de l'analyse prédictive.
Mon
smartphone
si je
peut détecter
si je marche,
cours mais pas encore si je vais marcher ou cou-
Le modèle de classification
est quant à lui confié
à une autre API de Spark, MLlib et son algorith-
rir dans les minutes à venir IA suivre donc, et de
très près.
manœuvre
de Cassandra.
\
cqlsh:actitracker>
Cette base de données (SGBD)
j
de type NoSQL
pour
!
massives
j
conçue
gérer des quantités
avec Spark Streaming,
modèle et la prédiction en temps réel de l'activi-
a été spé-
pour les cobayes afin d'in-
L'ingéniosité
batch
Big
tout en délimitant
spatiales,
des données du volontaire, la transformation
Et c'est sur Spark, framework de traitements
et la facilité
du
la donnée en temps
une composante
les objets connectés
diquer
de don-
sur l'accéléromètre
afin de récupérer
réel, avec
de
Pour réaliser un recueil de don-
Nous nous appuyons
téléphone
la course,
l'arrêt, la marche, la position assise ?
A partir d'un Smartphone
nées,
de cha-
de données est une base orien-
j
tée colonnes.
i
En utilisant le Time Sériés Data
j
Model, un type de donnée par-
I
user_id
SELECT
| activity
8
8
8
8
8
8
8
8
8
8
•
FROM users
WHERE user_id
}
tlaestaop
Standing
Standing
Standing
Standing
Standing
|
|
j
!
|
112578291481986
112578334541986
112578411384996
112578451484996
1 acc_x
-5
-5
-S
-5
13 1
95 !
41 i
48 |
|
8
8
8
8
Standing
Standing
Standing
Standing
Standing
|
j
!
|
!
112578491615966
112578542791999
112578581489996
112578661476996
112578791515996
112578741462996
-5
-5
-5
-5
-5
-5
33
28
18
33
37
33
8
8
S
8
8
8
|
|
|
|
|
!
= 8 AND
acc_y
=
'Standing'
ORDER BY timestamp
asc
LIMIT
16
| acc_z
16 1
16 |
16 |
16 1
16 |
12 1
12 1
16 |
«
16
activity
i
|
31
31
38
31
18
18
23
33
33
33
Tous droits de reproduction réservés