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