data.table est un package qui facilite et accélère les opérations de filtrage, création et mises à jours de variables et d'agrégation d'un tableau de donénes.
Slides présentés à l'occasion du premier meetup Paris R Addicts.
La présentation est destiné à ceux qui ne connaissent pas ou très peu. Elle montre les intérêts et les inconvénients du logiciel ainsi que des éléments de syntaxe et des liens qui aideront l'apprentissage.
Avec le langage R, prenez de la hauteur dans l’analyse de vos données ! Yi YANG
En 2019, le machine learning est omniprésent, et depuis peu, l’analyse de la données est devenue un véritable métier et une formidable source de valeur pour l’entreprise ou pour les institutions. Au-delà de ces réalités, il y a un langage qui, s’il est petit par le nom, est immense par sa capacité de traitement de data et surtout par son utilisation dans la conception d’algorithmes basés sur les calculs vectoriels : le langage R. Ce slideware vous présente ses principales caractéristiques, son histoire, quelques notions techniques de base et les packages les plus couramment utilisés, avant de conclure par une comparaison avec Python. Maintenant évadez vous, prenez l’R !
Présentation interne chez Devolis : http://www.devolis.com/
Ce deuxième cours concerne les tuples, séquences non modifiables d'éléments. On peut les étendre en tuples nommés en ajoutant un nom à chacune des entrées du tuple, appelées alors champs. Enfin, on peut aller plus loin et définir des objets en associant des fonctions à des données. Cette seconde partie introduit à la programmation orientée objet.
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis.
Ce cours concerne la manipulation des chaines de caractères et les expressions régulières. La première partie présente la classe str Python ainsi que les opérations qu'il est possible de faire sur des objets str. La seconde partie concerne les expressions regulières qui permettent de valider des chaines de caractères ou d'en extraire des sous-chaines qui satisfont un motif donné. On y voit finalement comment utiliser le module re Python.
Slides présentés à l'occasion du premier meetup Paris R Addicts.
La présentation est destiné à ceux qui ne connaissent pas ou très peu. Elle montre les intérêts et les inconvénients du logiciel ainsi que des éléments de syntaxe et des liens qui aideront l'apprentissage.
Avec le langage R, prenez de la hauteur dans l’analyse de vos données ! Yi YANG
En 2019, le machine learning est omniprésent, et depuis peu, l’analyse de la données est devenue un véritable métier et une formidable source de valeur pour l’entreprise ou pour les institutions. Au-delà de ces réalités, il y a un langage qui, s’il est petit par le nom, est immense par sa capacité de traitement de data et surtout par son utilisation dans la conception d’algorithmes basés sur les calculs vectoriels : le langage R. Ce slideware vous présente ses principales caractéristiques, son histoire, quelques notions techniques de base et les packages les plus couramment utilisés, avant de conclure par une comparaison avec Python. Maintenant évadez vous, prenez l’R !
Présentation interne chez Devolis : http://www.devolis.com/
Ce deuxième cours concerne les tuples, séquences non modifiables d'éléments. On peut les étendre en tuples nommés en ajoutant un nom à chacune des entrées du tuple, appelées alors champs. Enfin, on peut aller plus loin et définir des objets en associant des fonctions à des données. Cette seconde partie introduit à la programmation orientée objet.
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis.
Ce cours concerne la manipulation des chaines de caractères et les expressions régulières. La première partie présente la classe str Python ainsi que les opérations qu'il est possible de faire sur des objets str. La seconde partie concerne les expressions regulières qui permettent de valider des chaines de caractères ou d'en extraire des sous-chaines qui satisfont un motif donné. On y voit finalement comment utiliser le module re Python.
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs opérationnels :
- Connaître les étapes de résolution d’un problème
- Stocker et traiter des données simples
- Permettre à un programme de communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Traiter des données composites
- Définir et utiliser des procédures et des fonctions
objectif général : Acquérir les compétences nécessaires pour développer des sites Web dynamiques.
objectifs opérationnels :
Stocker et utiliser des données à l’aide des variables et des opérateurs.
Manipuler des tableaux et des chaînes de caractères.
Contrôler le flux d’exécution des instructions.
Définir et utiliser des fonctions.
Transférer des données.
Interfacer PHP avec MySQL.
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
Ce cours présente la programmation fonctionnelle et montre comment il est possible de programmer avec ce paradigme en utilisant Python. La première partie présente la notion d'objet de type fonction, les fonctions lambda, le type callable et les closures. La deuxième partie présente les décorateur et montre comment ajouter du comportement à une fonction à l'aide d'un décorateur. La troisième partie présente les itérateurs et les générateurs qui, grâce à l'instruction yield, génère les données à la demande.
...par Raphaël Javaux, le 25 mars 2015.
Copie pour permettre le téléchargement L'original se trouve ici : https://docs.google.com/presentation/d/1A87M-e3u1uXlsQddGsI60EZXHVqiehaNy_SCfj7hUeQ/pub?start=false&loop=false&delayms=3000&slide=id.p
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs spécifiques :
Connaître les étapes de résolution d’un problème
Stocker et traiter des données simples
Permettre à un programme de communiquer avec l’extérieur
Contrôler le flux d’exécution des instructions
Traiter des données composites
Définir et utiliser des procédures et des fonctions
Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels :
Stocker des données à l’aide des variables
Traiter des données à l’aide des opérateurs.
Communiquer avec l’internaute à l’aide des E/S de base
Contrôler le flux d’exécution des instructions.
Réutiliser et organiser le code en créant des fonctions
Créer l’interactivité grâce à la gestion des évènements
Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
Traiter des chaînes de caractères avec l’objet String
Gérer les propriétés de la fenêtre avec l’objet Window
Manipuler le contenu de la page Web grâce à l’objet Document
Contrôler la saisie d’un formulaire avec l’objet Form
Objectif général : Prendre en main la bibliothèque JavaScript la plus utilisée
Objectifs spécifiques :
Inclure la bibliothèque
Sélectionner du contenu
Manipuler des éléments
Mettre en forme du contenu
Gérer des évènements
Utiliser des effets
Effectuer des requêtes AJAX
Objectifs généraux :
Savoir effectuer une requête HTTP synchrone ou asynchrone
Savoir effectuer des requêtes RESTful avec les méthodes GET, POST, PUT, PATCH et DELETE
Objectifs opérationnels :
Comprendre une requête synchrone
Effectuer une requête synchrone
Lire, d’une manière synchrone, le contenu d’un fichier local
Comprendre une requête asynchrone
Effectuer une requête asynchrone
Récupérer des données à partir d’un serveur avec une requête asynchrone
Comprendre les méthodes de requête RESTful
Effectuer des requêtes RESTful avec les méthodes GET, POST, PUT, PATCH et DELETE
Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels
- Stocker des données à l’aide des variables
- Traiter des données à l’aide des opérateurs.
- Communiquer avec l’internaute à l’aide des E/S de base
- Contrôler le flux d’exécution des instructions.
- Réutiliser et organiser le code en créant des fonctions
- Créer l’interactivité grâce à la gestion des évènements
- Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
- Gérer les propriétés de la fenêtre avec l’objet window
- Manipuler le contenu de la page Web grâce à l’objet document
- Contrôler la saisie d’un formulaire avec l’objet form
Ce cours concerne les arbres, structure de données organisant les données de manière hiérarchique dans de nœuds reliés entre eux par une relation parent-enfant. Le cours présente les arbres généraux et ensuite les arbres binaires, où chaque nœud possède 0 ou 2 enfants. Enfin, le cours termine en présentant des algorithmes de recherche et en particulier l'arbre binaire de recherche.
Ce cours est le premier en lien avec l'algorithmique présente les algorithmes et fonctions récursives ainsi que le type abstrait de données arbre. La première partie revient sur les notions de problème, algorithhme et spécification. La deuxième partie présente la récursion et de nombreux exemples. Enfin, la troisième partie présente le type abstrait de données arbre qui permet d'organiser des données de manière hiérarchique. Le cours se termine avec une introduction aux notions de backtracking et lookahead.
This document describes an R workshop on analyzing graphs and networks. It discusses representing graphs as mathematical objects in R and available R packages for graph analysis. Several graph analysis packages in R are listed, including igraph, which allows network visualization and analysis. The workshop agenda includes an introduction to graph concepts in R, possibilities for graph analysis in R, and an example analysis project. The goal is to help participants learn how to represent and analyze their relational data using the R programming language.
Avec plus de 2 millions d'utilisateurs à travers le monde, R est le logiciel libre le plus utilisé dans le domaine des sciences de données et des statistiques. Il est utilisé par des étudiants, des professeurs et des professionnels de nombreux domaines, notamment les finances, la bioinformatique, l'écologie, la génétique, l'économétrie, l'épidémiologie et les statistiques appliquées. Chaque année, le nombre d'utilisateurs R augmente de 40%. De plus en plus, les organisations l'utilisent pour établir des solutions spécifiques qui sont basées sur leurs propres bases de données. Cet atelier vous permettra de vous familiariser avec les outils nécessaires pour l'importation, la transformation et la visualisation des données dans R et vous indiquera les étapes à suivre afin de construire des modèles statistiques élémentaires. Vous apprendrez ensuite comment intégrer vos résultats R dans un document HTML pour créer des rapports reproductibles. Dans la dernière partie de cet atelier, je vais vous présenter quelques notions plus avancées tels que les graphiques interactifs et la création d'applications web en utilisant Shiny. Cet atelier est idéal si vous êtes un non-programmeur sans expérience de la science de données ou si vous envisagez faire la transition vers R à partir d'autres logiciels comme SAS ou Excel pour faire des analyses plus complexes de vos données.
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...Emmanuel Vivier
Social Media ROI (Return on Investment): 15 choses à savoir sur la mesure du Retour Sur Investissement des media sociaux. Comment choisir les bons kpis (key performance indicators) et metrics pour mesurer le succès, la rentabilité et les performances de vos campagnes digitales, de marketing viral, de buzz marketing sur les media sociaux comme Facebook, Twitter, YouTube,...
Voici quelques conseils dans cette introduction à la mesure du marketing 2.0. Pour toute question, commentaire, suggestion contactez-moi sur Twitter (http://www.twitter.com/emmanuelvivier) ou par email : emmanuel.vivier@gmail.com
Bonne lecture ;)
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs opérationnels :
- Connaître les étapes de résolution d’un problème
- Stocker et traiter des données simples
- Permettre à un programme de communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Traiter des données composites
- Définir et utiliser des procédures et des fonctions
objectif général : Acquérir les compétences nécessaires pour développer des sites Web dynamiques.
objectifs opérationnels :
Stocker et utiliser des données à l’aide des variables et des opérateurs.
Manipuler des tableaux et des chaînes de caractères.
Contrôler le flux d’exécution des instructions.
Définir et utiliser des fonctions.
Transférer des données.
Interfacer PHP avec MySQL.
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
Ce cours présente la programmation fonctionnelle et montre comment il est possible de programmer avec ce paradigme en utilisant Python. La première partie présente la notion d'objet de type fonction, les fonctions lambda, le type callable et les closures. La deuxième partie présente les décorateur et montre comment ajouter du comportement à une fonction à l'aide d'un décorateur. La troisième partie présente les itérateurs et les générateurs qui, grâce à l'instruction yield, génère les données à la demande.
...par Raphaël Javaux, le 25 mars 2015.
Copie pour permettre le téléchargement L'original se trouve ici : https://docs.google.com/presentation/d/1A87M-e3u1uXlsQddGsI60EZXHVqiehaNy_SCfj7hUeQ/pub?start=false&loop=false&delayms=3000&slide=id.p
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs spécifiques :
Connaître les étapes de résolution d’un problème
Stocker et traiter des données simples
Permettre à un programme de communiquer avec l’extérieur
Contrôler le flux d’exécution des instructions
Traiter des données composites
Définir et utiliser des procédures et des fonctions
Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels :
Stocker des données à l’aide des variables
Traiter des données à l’aide des opérateurs.
Communiquer avec l’internaute à l’aide des E/S de base
Contrôler le flux d’exécution des instructions.
Réutiliser et organiser le code en créant des fonctions
Créer l’interactivité grâce à la gestion des évènements
Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
Traiter des chaînes de caractères avec l’objet String
Gérer les propriétés de la fenêtre avec l’objet Window
Manipuler le contenu de la page Web grâce à l’objet Document
Contrôler la saisie d’un formulaire avec l’objet Form
Objectif général : Prendre en main la bibliothèque JavaScript la plus utilisée
Objectifs spécifiques :
Inclure la bibliothèque
Sélectionner du contenu
Manipuler des éléments
Mettre en forme du contenu
Gérer des évènements
Utiliser des effets
Effectuer des requêtes AJAX
Objectifs généraux :
Savoir effectuer une requête HTTP synchrone ou asynchrone
Savoir effectuer des requêtes RESTful avec les méthodes GET, POST, PUT, PATCH et DELETE
Objectifs opérationnels :
Comprendre une requête synchrone
Effectuer une requête synchrone
Lire, d’une manière synchrone, le contenu d’un fichier local
Comprendre une requête asynchrone
Effectuer une requête asynchrone
Récupérer des données à partir d’un serveur avec une requête asynchrone
Comprendre les méthodes de requête RESTful
Effectuer des requêtes RESTful avec les méthodes GET, POST, PUT, PATCH et DELETE
Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels
- Stocker des données à l’aide des variables
- Traiter des données à l’aide des opérateurs.
- Communiquer avec l’internaute à l’aide des E/S de base
- Contrôler le flux d’exécution des instructions.
- Réutiliser et organiser le code en créant des fonctions
- Créer l’interactivité grâce à la gestion des évènements
- Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
- Gérer les propriétés de la fenêtre avec l’objet window
- Manipuler le contenu de la page Web grâce à l’objet document
- Contrôler la saisie d’un formulaire avec l’objet form
Ce cours concerne les arbres, structure de données organisant les données de manière hiérarchique dans de nœuds reliés entre eux par une relation parent-enfant. Le cours présente les arbres généraux et ensuite les arbres binaires, où chaque nœud possède 0 ou 2 enfants. Enfin, le cours termine en présentant des algorithmes de recherche et en particulier l'arbre binaire de recherche.
Ce cours est le premier en lien avec l'algorithmique présente les algorithmes et fonctions récursives ainsi que le type abstrait de données arbre. La première partie revient sur les notions de problème, algorithhme et spécification. La deuxième partie présente la récursion et de nombreux exemples. Enfin, la troisième partie présente le type abstrait de données arbre qui permet d'organiser des données de manière hiérarchique. Le cours se termine avec une introduction aux notions de backtracking et lookahead.
This document describes an R workshop on analyzing graphs and networks. It discusses representing graphs as mathematical objects in R and available R packages for graph analysis. Several graph analysis packages in R are listed, including igraph, which allows network visualization and analysis. The workshop agenda includes an introduction to graph concepts in R, possibilities for graph analysis in R, and an example analysis project. The goal is to help participants learn how to represent and analyze their relational data using the R programming language.
Avec plus de 2 millions d'utilisateurs à travers le monde, R est le logiciel libre le plus utilisé dans le domaine des sciences de données et des statistiques. Il est utilisé par des étudiants, des professeurs et des professionnels de nombreux domaines, notamment les finances, la bioinformatique, l'écologie, la génétique, l'économétrie, l'épidémiologie et les statistiques appliquées. Chaque année, le nombre d'utilisateurs R augmente de 40%. De plus en plus, les organisations l'utilisent pour établir des solutions spécifiques qui sont basées sur leurs propres bases de données. Cet atelier vous permettra de vous familiariser avec les outils nécessaires pour l'importation, la transformation et la visualisation des données dans R et vous indiquera les étapes à suivre afin de construire des modèles statistiques élémentaires. Vous apprendrez ensuite comment intégrer vos résultats R dans un document HTML pour créer des rapports reproductibles. Dans la dernière partie de cet atelier, je vais vous présenter quelques notions plus avancées tels que les graphiques interactifs et la création d'applications web en utilisant Shiny. Cet atelier est idéal si vous êtes un non-programmeur sans expérience de la science de données ou si vous envisagez faire la transition vers R à partir d'autres logiciels comme SAS ou Excel pour faire des analyses plus complexes de vos données.
Social Media ROI - Retour Sur Investissement des media sociaux : 15 choses à ...Emmanuel Vivier
Social Media ROI (Return on Investment): 15 choses à savoir sur la mesure du Retour Sur Investissement des media sociaux. Comment choisir les bons kpis (key performance indicators) et metrics pour mesurer le succès, la rentabilité et les performances de vos campagnes digitales, de marketing viral, de buzz marketing sur les media sociaux comme Facebook, Twitter, YouTube,...
Voici quelques conseils dans cette introduction à la mesure du marketing 2.0. Pour toute question, commentaire, suggestion contactez-moi sur Twitter (http://www.twitter.com/emmanuelvivier) ou par email : emmanuel.vivier@gmail.com
Bonne lecture ;)
Version DRAFT d'une formation Data Scientist que j'ai conçue à partir de sources diverses (voir références bibliographiques à la fin de chaque diapositive).
La formation est destinée aux personnes possédant des bases (~BAC+2) en statistiques et programmation (j'utilise R).
Je reste ouvert à tout commentaire, critique et correction. Je continuerai à mettre à jour les diapositives et à en ajouter d'autres si j'ai le temps.
Ojo a los mínimos de la semana pasada.
Los principales índices han superado los máximos previos y con ello empieza un nuevo tramo en tendencia o por lo menos eso dice la teoría.
Para el EuroStoxx50 la superación de los 2.960 le da un objetivo teórico para las próximas semanas en niveles de 3.180. Este es para nosotros el punto de rotación
(2.960), un cierre por debajo de estos niveles invalidaría el escenario y habría que plantearse probablemente otra estrategia. Esto además coincidiría con la pérdida de los mínimos de la semana pasada con lo que los índices devolverían todo el efecto enero, y desde una perspectiva técnica complicaría bastante las cosas (páginas 4 y 5).
Dicho esto vamos a entender que es un mero retroceso para tomar impulso, y vamos a diseñar una estrategia con aquellos sectores-valores que mejores revisiones de beneficios han tenido en las últimas 4 semanas y que además presentan buenas estructura técnicas: Daimler (Objetivo 40,90€ - Stop 35,44€ página 6), ArcelorMittal (Objetivo 40,25€ - Stop 31,60€ página7), BNP Paribas (Objetivo 64,90€ - Stop 56,10€ página 8), BBVA (Objetivo 14,25€ - Stop 12,63€ página 9).
Por otro lado diseñamos una estrategia sobre el Crude Oil dada su fortaleza de corto plazo. Observamos una clara estructura en segmentos que le da un precio objetivo en
el entorno de los 100$ y marcamos Stop en un cierre por debajo de 75$.
Publicado por www.saladeinversion.es, una iniciativa de Saxo Bank y su alianza de socios en España.
Este documento resume el concepto de software social y la Web 2.0. Explica que el software social apoya la interacción grupal a través de herramientas como redes sociales y mensajería. También describe cómo las nuevas generaciones de usuarios nativos digitales están impulsando el uso de estas tecnologías sociales. Finalmente, propone una arquitectura de plataforma web con capas intermedias de software social y gestión de redes sociales para apoyar la dinámica social de la Web.
Este documento describe el sistema de gestión de reclamos de Atento Perú para clientes residenciales de Telefónica del Perú. Incluye información sobre la empresa objetivo, métricas de software, herramientas para automatización de pruebas, planes de pruebas de software, casos de prueba del producto software y resultados de las métricas y conclusiones.
Este documento resume tres casos clínicos de mujeres que experimentan sangrados anormales por causas ginecológicas orgánicas. En el primer caso, se propone una conización cervical y polipectomía para una paciente de 49 años con antecedentes quirúrgicos. En el segundo caso, se sugiere una histerectomía o miomectomía para una mujer de 32 años con dolor abdominal y aumento de volumen. En el tercer caso, se indica una laparotomía exploradora o histerectomía para una paciente de 46 años con retraso
La Web 3.0 se asocia con una etapa que añadirá significado a la web a través de la Web Semántica, aunque no existe consenso sobre su definición exacta. Aunque promete transformar la experiencia web y la vida cotidiana, su desarrollo es lento, pero podría acelerarse combinando inteligencia artificial con capacidades humanas. Factores como la interactividad y movilidad serán decisivos en esta nueva etapa.
Dossier de presse de la 9e édition du Festival Bargny Rythmes Sur Mer 2014Ibra Seck Cassis
Par son contenu artistique et culturel varié, le festival se veut un espace de promotion et de consommation culturelles ; un espace ouvert à l'action culturelle de tous et pour tous.
L’édition de cette année coïncide avec l’organisation du 15ème Sommet de la Francophonie au Sénégal, prévu les 29 et 30 novembre 2014 ; d’où son inscription dans le cadre des activités de vulgarisation de cette grande rencontre internationale des pays qui ont en partage l’usage du Français.
Ainsi le festival répond à son ambition de toujours s’adapter à son environnement pour davantage coller aux besoins des populations ainsi qu’aux politiques en vigueur.
Audrey Hepburn compartió sus secretos de belleza, los cuales enfatizan la importancia de la bondad, la compasión y el servicio a los demás. Para tener una sonrisa hermosa, di palabras amables. Para tener una figura esbelta, comparte tu comida. La verdadera belleza viene del alma y crece con los años a través de la bondad hacia los demás.
Este documento presenta una introducción al diseño gráfico, incluyendo su historia, elementos, normas y clasificación de productos. Explica que el diseño gráfico transforma ideas en una forma visual ordenada y estructurada. Traza los orígenes del término y cómo evolucionó la imprenta y litografía en el siglo XIX. También describe estilos como el modernismo, impresionismo y los diferentes ismos del siglo XX, así como el surgimiento de la tipografía funcional. Finalmente, clasifica productos como etiquetas, envases, editoriales
Clairement dans cette version, nous assistons à une volonté de simplification. Plus de lisibilité du code, plus d’outils pour ne plus avoir à perdre de temps sur des opérations simples et courantes, pour au final un code de meilleur qualité et plus accessible. La plupart de ces améliorations se trouvent dans cette présentation.
Deep Learning on Apache Spark: TensorFrames & Deep Learning Pipelines Databricks
TensorFrames: Spark + TensorFlow: Since the creation of Apache Spark, I/O throughput has increased at a faster pace than processing speed. In a lot of big data applications, the bottleneck is increasingly the CPU. With the release of Apache Spark 2.0 and Project Tungsten, Spark runs a number of control operations close to the metal. At the same time, there has been a surge of interest in using GPUs (the Graphics Processing Units of video cards) for general purpose applications, and a number of frameworks have been proposed to do numerical computations on GPUs.In this talk, we will discuss how to combine Apache Spark with TensorFlow, a new framework from Google that provides building blocks for Machine Learning computations on GPUs. Through a binding between Spark and TensorFlow called TensorFrames, distributed numerical transforms on Spark DataFrames and Datasets can be expressed in a high-level language and still rely on highly optimized implementations.The developers of the TensorFrames package will provide an overview, a live demo on Databricks and a presentation of the future plans. For experts, this talk will also include some technical details on design decisions, the current implementation, and ongoing work on speed and performance optimizations for numerical applications.
Venez découvrir les méthodes, outils et best practices utilisés par les experts du Support Microsoft pour identifier et corrigier les problèmes de performances sur SQL Serveur ou tout simplement en optimiser les performances. Cette session présentée par nos spécialistes au Support SQL Serveur en France, sera pour vous une occasion unique de les rencontrer ! Avec environ 50% de contenu original pour cesTechdays, nous aborderons entre autre la gestion des index, du columns store ou encore de la compression, nous vous présenterons également les outils utilisés et la manière de les utiliser.
Découverte du moteur de rendu du projet SpartanMicrosoft
Dans cette session, nous découvrirons l'ensemble des nouveautés du moteur de rendu du dernier navigateur de Microsoft. Vous l'avez peut-être déjà découvert lors de l'évènement du 21 janvier. Venez cette fois-ci découvrir ce qu'il y a sous le capot du point de vue du développeur. Ce sera pour nous l'occasion de vous parler des dernières technologies HTML5 comme ECMAScript 6, des dernières avancées côté WebGL ou bien encore du support de Web Audio. Pour finir, vous verrez également les progrès que nous avons effectué du côté la barre de développement.
ArrayList et LinkedList sont dans un bateauJosé Paumard
Slides de mon université à Devoxx France 2016. Le sujet est la performance des algorithmes d'implémentation de List et leur adéquation avec la structure des CPU actuels.
Présentation des nouveautés apportées par la version 7 du langage C# : Méthodes locales, Tuples, Déconstructeurs, Pattern matching, Variables de sortie, Membres sous forme d’expression, Amélioration de la levée des exceptions, ...
Lifetime value (LTV) refers to the total revenue expected to be generated by a player over the lifetime of playing a mobile game. LTV is not a measurable quantity but an expectation based on current information of how much revenue a group of users will generate. It is important to decide how much to spend on user acquisition based on estimated LTV. LTV is calculated by summing the past, present, and future revenues generated by a user over time based on factors like retention rates, conversion rates, and average revenue per paying user (ARPPU).
Créer une carte interactive et dynamique avec R et Shiny. Slides présentés par Julie séguéla lors du 7ème meetup Paris R Addicts : http://www.meetup.com/rparis/events/180073502/
Baptiste Coulmont, sociologue à l'université Paris 8, nous révèle grâce à une carte une relation troublante entre vote par procuration et milieu social. Ces slides ont été présentés lors du 7ème meetup R Addicts Paris.
Outils cartographiques et en statistique spatiale sur RFrançois Guillem
Comment et où récupérer des données spatiales dans R, les décrire et les analyser ?
Slides présentés lors du 7ème meetup R Addicts Paris par Alejandro Lara-Ramirez, Consultant chez BIwhere et Kevin Parra, étudiant en Master d’Économétrie-Statistiques à la Toulouse School of Economics et Junior Consultant chez BIwhere.
Comment créer une carte avec R et le package RgoogleMaps ? Slides présentés lors du 7ème meetup R Addicts Paris par Hang Khuc, responsable pôle étude et statistiques chez Sensorly.
3. data.frame et data.table
• Un «data.table» est un «data.frame» avec des
fonctionnalités additionnelles
• Plus lisible, plus compréhensible, plus
compact, plus rapide…
• Efficient
3
4. data.table et SQL
• Semblable à du SQL (possibilité de définir des
clefs)
• Permet de réaliser des requêtes dans un
tableau mais avec la syntaxe de R :
data[<where>, <select>, <group by>]
4
5. Exemple selection
# installation de la librairie
install.packages("data.table")
# chargement de la librairie
library(data.table)
# chargement des données
load("C:/Users/Ve/Desktop/Raddicts/pokemon.rda")
5
6. Exemple selection
# 1. Selectionner : data.frame et data.table #############
# details / conversions :
class(data)
dfPokemon <- data
dtPokemon <- data.table(data)
class(dfPokemon)
class(dtPokemon)
# # details sur les données :
# dfPokemon
# dtPokemon
6
7. Exemple selection
# selectionnner le nom des pokemons avec des caracteristiques particulières :
# avec un data frame
dfPokemon[(dfPokemon$Attack - dfPokemon$Defense) > 10 &
dfPokemon$Speed > 120 & dfPokemon$LastEvolution, ]$Name
dfPokemon[(dfPokemon$Attack - dfPokemon$Defense) > 10 &
dfPokemon$Speed > 120 & dfPokemon$LastEvolution, c("Name", "HP")]
# avec un data table
dtPokemon[Attack - Defense > 10 & Speed > 120 & LastEvolution, Name]
dtPokemon[Attack - Defense > 10 & Speed > 120 & LastEvolution,
list(Name,HP)]
7
9. Filtrer
• Garder les lignes qui nous intéresse :
– Soit avec une clause
– Soit avec une clef (ou plusieurs clefs)
• data[ <where>, <select>, <group by>]
• Plus rapide avec des clefs (ne parcourt pas
toutes les lignes d’un tableau)
9
10. Exemple de filtres
# 2. Filtrer des observations ####
# avec un data frame
dfPokemon[(dfPokemon$Attack - dfPokemon$Defense) > 10 & dfPokemon$Speed >
120 & dfPokemon$LastEvolution, ]
# avec un data table
dtPokemon[Attack - Defense > 10 & Speed > 120 & LastEvolution]
# Filtrer les noms des pokemon commencant par la lettre "A" :
# avec un data frame
dfPokemon[ grep("^A",dfPokemon$Name), ]
# avec un data table
dtPokemon[ Name %like% "^A" ]
10
11. Exemple de filtres
## 3. Filtrer des observations avec clefs ####
# définir une clef :
setkey(dtPokemon,LastEvolution)
dtPokemon[J(TRUE)]
# définir deux clefs :
setkey(dtPokemon, Attack, LastEvolution)
dtPokemon[J(c(110:120),TRUE)]
11
12. Grouper
• Sélectionner, filtrer, calculer par groupe
(calculer des statistiques agrégées…)
data[<where>, <select>, by = <group>]
12
13. .SD et .N
• En groupant, on peut utiliser des « objets
spéciaux » dans le select :
– Pour chaque groupe, ".SD" est la partie du tableau
qui correspond à ce groupe. C’est aussi un
data.table et on peut lui appliquer une fonction
arbitraire
– .N nombre d’observations dans chaque groupe
.N = nrow(.SD)
13
14. Exemple d’opérations par groupe
# calculer une moyenne
dtPokemon[ , mean(Speed), by = LastEvolution]
# calculer une moyenne et renommer la statistique calculée
dtPokemon[ , list( vitesseMoyenne = mean(Speed) ), by = LastEvolution]
# calculer une moyenne en créant une variable de groupe
dtPokemon[ , mean(Speed), by = list(LastEvolution, aName = Name %like% "^A" )]
# ordonner les valeurs par le keyby
dtPokemon[ , mean(Speed), keyby = list(LastEvolution, aName = Name %like% "^A" )]
14
15. Exemple d’opérations par groupe
# faire des opérations par groupe avec .SD et .N :
dtPokemon[, nrow(.SD) , by = LastEvolution]
# ou
dtPokemon[,.N, by =LastEvolution]
# sélectioner le pokemon le plus rapide pour les deux catégories
d'évolution
dtPokemon[, .SD[which.max(Speed)] , by = LastEvolution]
15
16. Mettre à jours des observations
• Opérateur « := » pour :
– Créer des variables
– Modifier des variables
– Supprimer des variables
16
17. Exemple de modifications
# 5. Mettre à jour des observations : data.frame et data.table ####
# Créer une nouvelle variable
# avec un data frame
dfPokemon$attackMin <- dfPokemon$Attack
dfPokemon$attackMoyenne <- 15
dfPokemon$attackMax <- dfPokemon$SpAttack
# modifier la variable si l'attaque spéciale est inférieur à l'attaque (normale)
dfPokemon$attackMax[dfPokemon$SpAttack < dfPokemon$Attack] <-
dfPokemon$Attack[dfPokemon$SpAttack < dfPokemon$Attack]
# avec un data table
dtPokemon$attackMin <- dtPokemon$Attack
dtPokemon$attackMoyenne <- 15
dtPokemon$attackMax <- dtPokemon$SpAttack
# ou
dtPokemon[,attackMax := SpAttack]
17
18. Exemple de modifications
# pour une modification :
dtPokemon[SpAttack < Attack, attackMax := Attack]
# pour plusieurs modifications :
dtPokemon[SpAttack < Attack, ':=' (attackMax=Attack, attackMin = SpAttack)]
# ou
dtPokemon[SpAttack < Attack, c("attackMax","attackMin") := list(Attack,SpAttack)]
# # supprimer des variables:
# # avec un data frame
# dfPokemon$attackMax <- NULL
# dtPokemon$attackMin <- NULL
# dtPokemon$attackMoyenne <- NULL
# avec un data table
dtPokemon[,c("attackMax","attackMoyenne","attackMin") := NULL]
18
19. Conclusion
• Utiliser une bibliothèque permettant de
• Selectionner
• Filtrer
• Grouper
• Mettre à jour
De manière efficiente !!!
19