[SSAS] Créer un filtre pour afficher 12 mois glissants dans Excel

Une petite problématique rencontrée chez un client (un petit clin d’oeil à Samy) : on veut, dans Excel pouvoir sélectionner un mois dans un filtre, et afficher une mesure sur les 12 derniers mois glissants. La réponse simple consiste à sélectionner exactement les mois que l’on veut voir dans notre TCD/graphique. Cependant il est vrai que cette solution n’est pas très « user-friendly ».

Il s’agit bien des 12 mois que l’on veut en abscisse et non la valeur de la mesure cumulée sur ces 12 mois comme le ferait l’implémentation d’une date tool dans notre cube SSAS (cf la copie d’écran ci-dessous)

blog1

Un des soucis est que si l’on crée un set au sein de la dimension temps, on ne pourra pas l’utiliser en même temps qu’un membre de cette même dimension :

blog2.png

De plus, même si cela fonctionnait, le fait de choisir un membre de notre dimension Date filtrerait la totalité de notre cube sur ce membre : dans l’exemple précédent, on aurait uniquement que la tranche du cube du membre [Date].[Month Index].&[201507].

A la rigueur, on pourrait créer un set sur les 12 derniers mois glissants par rapport à la date du jour (MDX basé sur du NOW()), mais on perdrait le côté dynamique de la chose.

Alors comment fait-on ?

On va utiliser une dimension technique (c’est-à-dire une dimension reliée à aucun groupe de mesures) qui sera une dimension role-playing de notre dimension Date.

blog3.png

On va ensuite créer un set basé sur le CurrentMember de cette nouvelle dimension. Grâce à la fonction LINKMEMBER, on va le rattacher à la hiérarchie de la dimension originelle.

On aura ainsi un set contenant des membres de la dimension Date, filtré par un membre de notre dimension role-playing.

blog4.png

On obtient le résultat attendu : en ligne, on choisit le set nouvellement créé, et en filtre, on choisit notre role-playing dimension :

blog5.png

Evidemment, cela marche pour 12 mois glissants, mais on peut ajouter autant de regroupements que l’on veut en créant les bons sets associés.

Publié dans Analysis Services

Journées SQL Server 2015 : Azure Data Factory

Un petit article pour remercier les présents qui ont participé à notre session sur Azure Data Factory avec Thomas. Et plus généralement à toutes les personnes qui sont venues aux Journées SQL Server 2015.

Comme d’habitude, je vous mets les slides à disposition :

Session ADFvsSSIS_JSS2015

Pour aller plus loin je vous donne également les projets ADF qui correspondent aux démos que j’ai pu faire :

Big Data : DemoBigData

Machine Learning : DemoMachineLearning

Avec Thomas, on a préféré avoir une approche par l’utilisation, si vous préférez une approche par comparaison détaillée des fonctionnalités avec SSIS, je vous conseille l’excellente session de Reza Rad, qu’il a pu notamment animer au SQLRally 2015.

En conclusion de cette session, vous l’aurez compris j’espère, Azure Data Factory est un composant que j’apprécie particulièrement pour industrialiser pas mal de cas d’usage, notamment ceux en rapport avec Big Data ou le machine learning. Et même si pas mal de personnes ont tendance à considérer qu’il s’agit d’un ETL dans le cloud, je le qualifierai volontiers de EAL (Extract-Analyze-Load).

Publié dans Big Data, Communauté, Evénement, Machine learning

Réflexions autour de Polybase (SQL Server 2016)

A moins de vivre dans une grotte, vous avez pu voir (et peut-être déjà vous amuser avec) que la CTP de SQL Server 2016 était disponible.

Une des fonctionnalités que j’attendais énormément est Polybase, moteur permettant d’interroger des bases de données relationnelles et du Hadoop dans la même requête de manière transparente.

J’ai ajouté un commentaire sur l’excellent article de Charles-Henri dédié à la prise en main de l’outil, c’est ce commentaire que je vais reprendre en détaillant un peu ici.

Un peu d’histoire :

Polybase était auparavant disponible uniquement sur les appliances APS/PDW de Microsoft. Ces appliances renfermaient à la fois un serveur SQL et un cluster Hadoop. Toute la légitimité de Polybase était d’attaquer ses données de manière totalement transparente où qu’elles soient stockées.

A l’époque, nous, consultants BI, étions plutôt déçus de ne pas pouvoir jouer avec. Je ne crois pas me tromper en disant qu’en France, le marché était/est marginal et que nous n’avons/avions pas beaucoup l’occasion de le rencontrer chez des clients. De ce fait l’annonce de la disponibilité de Polybase avec SQL Server 2016 a suscité un certain intérêt.

Aujourd’hui :

Les use cases

Maintenant que c’est disponible j’ai beaucoup plus de mal à associer les business cases en face du moteur. Si l’on reste sur un contexte décisionnel, le cas d’usage principal serait de laisser une table de forte volumétrie sur le cluster Hadoop tandis que les tables de dimensions seraient sur SQL Server.

Mais je trouve ça quand même très limite niveau urbanisation des SI : qui irait stocker ses tables de faits dans un fichier Excel pendant que ses tables de dimensions sont dans une base relationnelle ? Parce que finalement, ça consiste à faire ça.

De plus pourquoi s’empêcher d’utiliser tous les composants disponibles dans Hadoop, en n’intégrant pas vos tables de dimensions à votre cluster ? Déporter des tables dans SQL Server va vous obliger à utiliser Polybase et tout jugement de valeur ou de polyvalence mis de côté, vous ne pourrez pas utiliser les dernières évolutions des différents composants (Pig, Hive, etc…)

Nouveau moteur

Le point suivant que j’ai relevé dans mon commentaire est le fait de re-développer un moteur from scratch. Alors j’étais un peu partisan car c’est une feature nouvelle sur SQL Server 2016, mais le moteur existe depuis APS/PDW. Ceci dit, ça reste jeune même à l’échelle du Big Data.

Ce qui me gêne principalement, ou m’interpelle, est le fait que Microsoft en partenariat avec Hortonworks a investi pas mal d’argent et de ressource via l’initiative Stinger ou via le développement d’HDInsight pour des avancées majeures sur Hive en terme de performance et d’optimisation. Je pense entre autres à l’utilisation du moteur Tez pour l’exécution de requête, à la vectorisation, ou le Cost Based Optimizer.

De plus Hive évolue très vite, on peut déjà l’utiliser avec Spark, etc…

Ma crainte est que Polybase n’évolue pas avec le même rythme de release. D’ailleurs n’est-il pas encore basé sur de l’exécution de code Map/Reduce (vraie question dont je n’ai pas la réponse à l’instant, mais je n’ai rien trouvé qui ne dise l’inverse), alors que toutes les avancées Big Data promettant le temps réel, ont tendance à s’en passer et à utiliser de nouveaux moteurs, pour ne profiter au final que de la partie système de fichiers distribuées.

Conclusion

Autant avec APS, je pouvais comprendre la nécessité d’un tel moteur : il permettait d’être le point d’entrée unique à nos données. De plus, les clients visés étaient forcément plutôt des personnes venant de SQL Server, c’était sympa de garder les mêmes habitudes en terme d’outil et d’écriture de requêtes.

Aujourd’hui j’ai l’impression que son avantage majeur est de pouvoir écrire son code via un seul IDE (Management Studio), ce qui semble quand même un peu léger. Surtout qu’il s’agit d’un moteur in-fine (Ce serait aberrant de dire que le seul avantage d’un moteur de voiture vient du fait qu’il utilise du SP98)

Et c’est pour ça qu’en conclusion de mon commentaire, j’écris que je préférerais un support de Hive dans Management Studio. Ce ne serait pas compliqué à mettre en oeuvre. Et Hive a exactement été développé pour ça : permettre à des développeurs SQL de travailler sur les données d’un cluster Hadoop. Et ça permettrait d’être au niveau en terme de release, sachant que SSMS a son propre développement maintenant.

Tagged with: , ,
Publié dans Big Data

HDInsight sur Linux

Une petite révolution pour l’offre Big Data de Microsoft avec la mise à disposition d’une version HDInsight basée sur des machines Linux. Ça explique aussi pourquoi j’avais gardé mes scripts bash pour normaliser mes mails dans ma session aux Techdays.

Alors en toute honnêteté, je trouve ça génial et cela montre l’ouverture d’esprit dont fait preuve la firme de Redmond depuis quelques temps.

La preview est déjà disponible, la création dans Azure est toujours aussi simple et se fait en quelques clics :

Capture d’écran 2015-02-20 à 22.09.31

La version d’Hadoop disponible est la 2.6, la dernière donc, disponible également en preview pour HDInsight sur Windows.

Première évolution sympa par rapport à la version Windows, la présence d’Ambari, interface d’administration et de monitoring d’un cluster Hadoop. Cette exclusivité côté Linux est d’ailleurs étonnante, car désormais Ambari est disponible sur HDP sur Windows (distribution Hadoop d’Hortonworks servant de base à HDInsight).

Capture d’écran 2015-02-20 à 22.33.47

L’autre nouveauté attendue qui tombe sous le sens avec une version Linux, est la possibilité de se connecter en SSH sur son serveur :

Capture d’écran 2015-02-20 à 22.14.42

Alors les quelques réflexions toutes personnelles que ça m’amène :

Ce que ça va changer :

– Microsoft met surtout en avant la facilité avec laquelle on va pouvoir porter les modèles que l’on a développés sur son cluster Hadoop On-Premise vers HDInsight dans le cloud. L’idée est clairement d’amener vers Azure, les utilisateurs d’Hadoop familiers avec la plateforme sur Linux.

– Ça devrait également permettre une mise à disposition plus rapide des dernières versions d’Hadoop dans Azure. On avait jusqu’à présent un temps de latence non négligeable pour bénéficier des dernières évolutions de la plateforme sur HDInsight.

Ce qui ne devrait pas changer : 

– On n’a pas vraiment d’informations sur la facturation, mais la communication de Microsoft sur HDInsight a toujours été tournée autour de la mise à disposition d’un moteur de calcul (et non pas de la mise à disposition d’un cluster Hadoop). Du coup malgré un coût de licence bien moindre (Ubuntu versus Windows Server), ça devrait rester inchangé.

MAJ : on a la réponse à cette question sur le site de Microsoft : même facturation pour Linux et Windows (avec néanmoins 50% de remise pendant la preview Linux)

– Cloud exclusivement, tout du moins hors appliance. Pas de communication en effet sur une éventuelle version On-Premise. A voir donc si APS (l’appliance Big Data Microsoft qui intègre HDInsight) intégrera une version Linux.

Les interrogations que l’on peut avoir :

– Quid de l’avenir d’Hadoop sur Windows ? On peut légitimement se poser la question parce que Microsoft et Hortonworks ont investi pas mal de temps (et d’argent :p) pour développer et promouvoir la version Windows de la plateforme. Et de manière plutôt intelligente, pertinente et efficace. Le tout avec des innovations dont a profité la version Linux (initiative Stinger). Mais soyons honnêtes, HDP pour Windows devait son existence en grande partie grace à HDInsight.

Je pense donc que leurs avenirs vont être intimement liés et vont dépendre de Microsoft : Redmond va-t-elle maintenir les deux version d’HDInsight ? Rendez-vous dans quelques temps 🙂

Tagged with: , ,
Publié dans Big Data

Techdays 2015 : Détection de spam avec Azure Machine Learning

Un article pour vous remercier d’avoir assisté à notre session aux Techdays.

Je vous mets les slides à disposition :

Techdays_2015_SPAM avec Azure ML

Ainsi que les scripts que j’ai utilisés :

  • Script bash qui ne récupère que le message d’un mail (pour la petite histoire, la véritable raison de l’utilisation de Linux est que j’ai commencé les démos sur une VM  Hortonworks avant de travailler sur HDInsight)

#!/bin/bash

mkdir ./temp
cd ./temp
hadoop fs -get /user/hue/spam/20030228_easy_ham.tar.bz2
tar jxf 20030228_easy_ham.tar.bz2
cd ./easy_ham
for filename in ./[0-9]*; do
deb=$(sed -n ‘1,/^\s*$/{=}’ $filename | tail -1)
fin=$(wc -l $filename | awk ‘{print $1}’)
awk ‘NR==v1,NR==v2’ v1= »$deb » v2= »$fin » $filename | sed ‘s/\r//g’ | sed ‘:a;N;$!ba;s/\n/ /g’ | sed ‘s/$/\r/’ > $filename.cleaned
done
tar -cvf easyham.tar *.cleaned
hadoop fs -put easyham.tar /user/hue/spamcleaned/zipfile/
hadoop fs -mkdir /user/hue/spamcleaned/easyham/
hadoop fs -put *.cleaned /user/hue/spamcleaned/easyham/
cd ../..
rm -fr ./temp/

 

  • Script Pig de normalisation du texte :

/* Chargement des mails */
easyham_emails = LOAD ‘wasb://techdays2015@blobdjuberhd.blob.core.windows.net/Demo/fichierinput/easyham/’ using PigStorage();

easyham2_emails = LOAD ‘wasb://techdays2015@blobdjuberhd.blob.core.windows.net/Demo/fichierinput/easyham2/’ using PigStorage();
hardham_emails = LOAD ‘wasb://techdays2015@blobdjuberhd.blob.core.windows.net/Demo/fichierinput/hardham/’ using PigStorage();
spam_emails = LOAD ‘wasb://techdays2015@blobdjuberhd.blob.core.windows.net/Demo/fichierinput/spam/’ using PigStorage();
spam2_emails = LOAD ‘wasb://techdays2015@blobdjuberhd.blob.core.windows.net/Demo/fichierinput/spam2/’ using PigStorage();
/* passage en minuscule */
easyham_lowercase_data = FOREACH easyham_emails GENERATE LOWER($0) as word,0 as flag;
easyham2_lowercase_data = FOREACH easyham2_emails GENERATE LOWER($0) as word,0 as flag;
hardham_lowercase_data = FOREACH hardham_emails GENERATE LOWER($0) as word,0 as flag;
spam_lowercase_data = FOREACH spam_emails GENERATE LOWER($0) as word,1 as flag;
spam2_lowercase_data = FOREACH spam2_emails GENERATE LOWER($0) as word,1 as flag;

/* union des datasets */

lowercase_data = UNION easyham_lowercase_data,easyham2_lowercase_data,hardham_lowercase_data,spam_lowercase_data,spam2_lowercase_data;

/* suppression des url */
without = FOREACH lowercase_data GENERATE REPLACE($0,’http[^\\s]{1,}[\\s]{1,}’,’httphttp ‘),flag;

/* suppression des mails */
without1 = FOREACH without GENERATE REPLACE($0,'[\\s]{1,}[^\\s]{1,}@[^\\s]{1,}[\\s]{1,}’,’ emailemail ‘),flag;

/* suppression balise html */
without2 = FOREACH without1 GENERATE REPLACE($0,'<.*?>’,’ ‘),flag;

/* remplacement des devises */
without3 = FOREACH without2 GENERATE REPLACE($0,’$’,’currency’),flag;
without4 = FOREACH without3 GENERATE REPLACE($0,’€’,’currency’),flag;
without5 = FOREACH without4 GENERATE REPLACE($0,’£’,’currency’),flag;

/* suppression des non-mots */
without6 = FOREACH without5 GENERATE REPLACE($0,'[^\\w]’,’ ‘),flag;

/* suppression des underscore */
without7 = FOREACH without6 GENERATE REPLACE($0,'[_]{1,}’,’ ‘),flag;

/* rajout d’un espace avant et aprËs chaque mot */
without8 = FOREACH without7 GENERATE REPLACE($0,'[ ]{1,}’,’ ‘),flag;

/* suppression des chiffres */
without9 = FOREACH without8 GENERATE REPLACE($0,'[\\s]{1}[0-9]{1,}[\\s]{1}’,’ ‘),flag;

/* suppression des mots de moins de 3 lettres */
without10 = FOREACH without9 GENERATE REPLACE($0,'[\\s]{1}[a-zA-Z0-9]{1,3}[\\s]{1}’,’ ‘),flag;

/* suppression des mots de plus de 10 lettres */
without11 = FOREACH without10 GENERATE REPLACE($0,'[\\s]{1}[a-zA-Z0-9]{10,}[\\s]{1}’,’ ‘),flag;

/* suppression des espaces */
dataoutput = FOREACH without11 GENERATE REPLACE($0,'[ ]{1,}’,’ ‘),flag;

STORE dataoutput INTO ‘wasb://techdays2015@blobdjuberhd.blob.core.windows.net/Demo/fichieroutput/’ USING PigStorage(‘,’);

 

Avec Florian, plutôt qu’une overview de l’outil ou du théorique, on a préféré se consacrer à un cas d’usage. Si vous êtes intéressés par cette approche, je ne peux que vous recommander l’ouvrage suivant :

51-Fc3QazXL._AA324_PIkin4,BottomRight,-38,22_AA346_SH20_OU08_

Bon apprentissage 😉

Tagged with: , , ,
Publié dans Evénement, Machine learning

Journées SQL Server 2014 : Session Hive

Un petit article pour remercier les présents à notre session Hive aux Journées SQL Server 2014, et plus généralement ceux qui ont pu se libérer pour assister à l’événement. 306 présents, c’est un peu moins que l’année dernière, mais ça reste tout de même un chiffre honorable pour une conférence organisée par une association.

J’en profite pour partager nos slides :

Session_Hive_v1.1

le webcast :

Et le lien qui va avec :

– pour télécharger HDP 2.2 (à noter que la version finale est sortie le lendemain de notre session sur laquelle nous avons utilisé la preview) : http://fr.hortonworks.com/hdp/downloads/

Tagged with: ,
Publié dans Big Data, Communauté, Evénement

Journées SQL Server 2014 : il est encore temps de s’inscrire

Pour la 4ème fois, les journées SQL Server reviennent, comme toujours au centre de conférences Microsoft.

Elles se dérouleront les 1er et 2 décembre et il est encore temps de s’inscrire pour les retardataires. Au programme, 2 jours de conférences, 40 sessions, une cinquantaine de speakers, aucune excuse pour ne pas y aller si on est consultant data, BI, DBA ou tout autre métier en relation avec la donnée et particulièrement autour de SQL Server.

hive_logo200-16422e15407f1988

A titre perso, après avoir parlé des langages de requêtes Pig et Hive au SQL Saturday Paris, j’aurais l’occasion d’animer une session, lundi à 14h, accompagné de Julien Buret, directeur technique chez Xebia, intitulée Hive ou la convergence entre datawarehouse et Big Data.

Ce sera l’occasion d’aller un peu plus loin dans la technologie : plan d’exécution, fonctionnement, comparaison des différents moteurs d’exécution et des différentes méthodes de stockage. L’occasion également de constater comment les bases relationnelles ont influencé le développement de Hive.

On espère vous y voir nombreux.

Publié dans Big Data, Communauté, Evénement

Outstanding PASS Volunteer

Une surprise vendredi soir, en allant sur ma boîte mail :

J’ai été nommé « Outstanding PASS Volunteer » du mois de septembre 2014

PASS_Outstanding_Volunteer_Seal

Alors resituons un peu : le PASS (Professional Association SQL Server), qu’est-ce que c’est ?

C’est l’association qui gère tous les user group relatifs à SQL Server dans le monde. Le GUSS n’est autre que la branche locale (local chapter) du PASS

et outstanding volunteer, ça veut dire quoi ?

C’est une reconnaissance du PASS pour les bénévoles qui s’investissent énormément dans la communauté : http://www.sqlpass.org/Community/Volunteers/OutstandingVolunteers.aspx

Alors sans fausse modestie, j’avouerais que ça me fait énormément plaisir :), mais je suis malgré tout un peu gêné de recevoir un titre personnel pour une implication au sein du GUSS, car j’ai plutôt tendance à faire passer « l’institution » avant les personnes. Mais si je mérite le titre de « volontaire exceptionnel », que dire de Jean-Pierre qui a amené un souffle nouveau à la communauté SQL Server et qui porte cette communauté, depuis qu’il est revenu sur Paris.

Ce qui me rassure, c’est que cette nomination vient forcément de l’initiative du board du GUSS, et je ne peux donc que les en remercier :

Merci à Jean-Pierre, Florian, Charles-Henri, Alexandre, Arnaud, Romain, Philippe et Grégory

De même cette implication ne serait pas possible si notre communauté n’était pas aussi active :

Merci à vous, qui faites vivre cette communauté

Et comme il ne s’agit pas de s’endormir sur ses lauriers, nous sommes déjà à pied d’oeuvre sur l’organisation des Journées SQL Server 2014. Retrouvez toutes les infos (date, lieu, inscription) sur la page suivante :

http://guss.pro/2014/12/01/journees-sql-server-2014/

Tagged with: , , ,
Publié dans Communauté

SQLSaturday Paris 2014 : Slides session Pig, Hive, Sqoop…

sqlsat323_web

Le SQLSaturday Paris est maintenant terminé, merci à tous d’être venus, et aussi à ceux qui ont participé à notre session. Je vous donne le lien de nos slides :

SQLSaturday 323 Paris 2014 – HDInsight

Ainsi que les fichiers sources et les scripts Pig et Sqoop que j’ai utilisé :

Demo

Un petit retour sur les références que j’ai données :

  • 80% des données dans le monde ont été créés il y a moins de 2 ans (et c’est même 90% en réalité :p) :

https://twitter.com/Technet_France/status/509616270288101377

  • Le très bon article HDFS versus Azure Blob Storage de Denny Glee (et surtout pourquoi privilégier du Blob Storage quand on utilise HDInsight) :

http://dennyglee.com/2013/03/18/why-use-blob-storage-with-hdinsight-on-azure/

  • Le fait qu’on ne peut utiliser l’updatemode à Allowinsert dans Sqoop que sur Oracle aujourd’hui :

http://blog.cloudera.com/blog/2012/01/whats-new-in-apache-sqoop-1-4-0-incubating/ (paragraphe Mixed Update/Insert Import)

Voila, j’espère que la session vous aura plu et que vous aurez appris quelques trucs.

Tagged with: , , , ,
Publié dans Big Data, Communauté, Evénement

Coursera – Machine Learning (Université de Stanford)

Plus qu’une semaine de cours, et j’aurai terminé le cours en ligne Machine Learning de Coursera. Je résiste pas à l’idée de vous faire un petit feedback.

coursera_logo_RGB

Coursera

Alors Coursera, c’est la plateforme de cours en ligne lancée en Avril 2012 et proposant des partenariats avec plusieurs universités américaines comme Stanford ou Princeton. On retrouve également maintenant des écoles françaises comme Polytechnique, Centrale ou l’ENS. Bref plutôt le haut du panier.

Ces universités proposent des cours en ligne donc, sur des périodes de 4 à 15 semaines (j’ai vu 14 semaines, il y a peut-être plus) ouverts plusieurs fois dans l’année.

Certaines formations sont payantes, mais proposent en contrepartie un certificat vérifié (ou une assistance technique dédiée et quelques fonctionnalités supplémentaires).

 

Machine Learning

Le cours de Machine Learning est proposé par l‘université de Stanford et dispensé par Andrew Ng (un des fondateurs de Coursera). Il est gratuit et se déroule sur 10 semaines. Le travail estimé est entre 5 et 7 heures par semaine. La formation se déroule en anglais, mais est sous-titrée en plusieurs langues (pas en français malheureusement)

Chaque semaine, une liste de vidéos est mise en ligne. Chaque vidéo dure entre 5 et 15 minutes,  vous pouvez les regarder en streaming ou les télécharger. Au cours de la lecture, vous avez une question qui correspond soit à une application directe de ce que vous venez de regarder, soit à l’introduction de la suite de la vidéo.

Une fois toutes les vidéos de la semaine lues, vous pouvez répondre à un quiz de 5 questions qui sont une application assez directe du cours. A noter qu’il est noté sur 5 points et que vous avez 100 essais pour les réussir (c’est très large, dans les faits, vous devriez faire entre 1 et 5 essais si vous êtes attentifs).

Et régulièrement (il doit y avoir juste 2 ou 3 semaines où ça n’est pas le cas), vous avez un exercice de programmation sous Octave (logiciel mathématique équivalent à MatLab, très prisé des data-scientists si on croit Andrew). Il y a un système de soumission en ligne pour valider vos programmes, et un système de points à obtenir.

 

Feedback

Le cours permet d’appréhender le machine learning et de savoir de quoi on parle lorsqu’on utilise les outils (qui a parlé de Azure Machine Learning ?), mais est plutôt orienté théorie au final : on ne fait pas qu’utiliser les algorithmes, on les construit, on les teste, on les optimise. Si vous souhaitez juste découvrir ce qu’est le machine learning, je ne crois pas que ce soit la meilleure manière de faire.

Les 5 à 7 heures de travail par semaine sont plutôt un minimum qu’une moyenne : on peut les dépasser si on lutte un peu sur les exercices de programmation (ce qui est parfois le cas). Je pense qu’il faut avoir conscience que ce cours demande une certaine quantité de travail pour être suivi.

Le cours ne demande qu’un léger pré-requis en programmation dans sa description. Je crois qu’il serait opportun de rajouter un léger background en mathématiques. En effet, on manipule beaucoup d’algèbre linéaire (matrice, vecteurs, …) et un peu de statistiques. De plus assez régulièrement, Andrew choisit de donner un résultat sans s’encombrer de preuve mathématique (volontairement), mais ça peut être intéressant de comprendre comment il arrive à ces résultats.

Il y a parfois des longueurs dans les vidéos : on peut avoir l’impression que les mêmes choses se répètent alors qu’en vérité, il y a une petite différence (rajout d’une propriété dans un algorithme, choix d’une autre variable), ou l’impression que le formateur explique en 5 minutes quelque chose qu’il pourrait énoncer en 30 secondes sans nécessairement entrer dans les détails.

Mais au final, le cours est intéressant avec des exercices de programmation plutôt pertinents qui donnent des applications concrètes du machine learning (reconnaissance d’écriture, moteur de recommandation, prédiction de prix,…) et qui ne demandent qu’à être testés sur nos propres jeux de données.

Bref, je ne regrette pas du tout de l’avoir suivi, et j’en redemande car je me suis inscrit au premier cours du cursus Data Science (payant celui-ci) de l’université Johns Hopkins.

 

Tagged with: , ,
Publié dans Machine learning
Microsoft
Communauté
PASS
Twitter
Follow La BI et les outils Microsoft on WordPress.com