mardi 30 novembre 2021

(Vidéo) Word Embedding – L'algorithme Word2Vec

Cette vidéo montre la mise en oeuvre de l'algorithme Word2Vec en NLP (natural language processing) avec le logiciel Knime. Nous poursuivons un double objectif : représenter les termes par un vecteur de dimension "p" (hyperparamètre de l'algorithme) restituant leurs voisinages ; caractériser les documents en s'appuyant sur cette représentation.

Mots-clés : word embedding, word2vec, knime, nlp, natural language processing, réduction de dimensionnalité, deep learning, doc2vec
Vidéo : Word2Vec
Workflow Knime + Données : Imdb Reviews
Références :
"Deep Learning : l'algorithme Word2Vec", décembre 2019.
"Word2Vec avec H2O sous Python", décembre 2019.

mercredi 24 novembre 2021

(Vidéo) StandardScaler et descente de gradient

Cette vidéo montre l'influence de la standardisation (centrage-réduction) des variables prédictives quantitatives sur l'algorithme de descente de gradient stochastique lors de la minimisation de la fonction de coût pour l'estimation des coefficients de la régression logistique binaire. La transformation joue sur la vitesse de convergence de l'algorithme, elle pèse en conséquence sur les qualités prédictives du classifieur. Nous travaillons avec les outils de la librairie "scikit-learn" pour Python.

Mots-clés : régression logistique binaire, scikit-learn, standardisation, transformation de variables
Vidéo : StandardScaler
Notebook + Données : Pima Indians Diabetes
Références :
"Régression logistique – Machine Learning", septembre 2021.
Page de cours "Régression Logistique".

jeudi 18 novembre 2021

(Vidéo) Topic Modeling avec Knime

Cette vidéo est consacrée à la mise en oeuvre du "topic modeling" avec le logiciel Knime (package Text processing). La méthode consiste à extraire des corpus des "thèmes" (topics), en faible nombre, que l'on caractérise à partir des termes (tokens) qui composent les documents. On peut aussi la voir sous l'angle de la réduction de la dimensionnalité dans la mesure où nous disposons d'une description des documents dans l'espace des topics. Procéder à des analyses subséquentes est ainsi possible. Nous l'illustrons par le regroupement des documents en groupes (clusters) à l'aide d'un algorithme de classification automatique (k-means).

Mots-clés : knime, text mining, tokenisation, dictionnaire, matrice documents-termes, pondération, catégorisation de documents, topic model, topic modeling, latent dirichlet allocation, LDA, clustering,
Vidéo : Knime Topic Model
Workflow + Données : Imdb Reviews
Références :
"Text mining : Topic Model", décembre 2016.
"(Vidéo) Text mining avec Knime", novembre 2021.

lundi 8 novembre 2021

(Vidéo) Text mining avec Knime

Je montre dans cette vidéo quelques fonctionnalités de la librairie « Text processing » du logiciel Knime. Je mets l’accent en particulier sur la catégorisation de documents avec la comparaison des performances de deux algorithmes de machine learning dans un espace à très forte dimensionnalité. Sont tour à tour abordés les thèmes suivants : la conversion de textes en corpus, le pré-traitement (suppression des ponctuations, des mots-vides, de chiffres, l’harmonisation de la casse), la tokenisation, la représentation des documents en sac de mots, la matrice documents termes avec la pondération booléenne, l’analyse prédictive avec les arbres de décision et la régression logistique régularisée (Ridge).

Mots-clés : knime, tokenisation, dictionnaire, matrice documents-termes, pondération, catégorisation de documents
Vidéo : Knime Text Mining
Workflow + Données : Imdb Reviews
Références :
« Text mining avec Knime et RapidMiner », avril 2014.

vendredi 5 novembre 2021

(Vidéo) Text mining avec quanteda sous R

Je montre dans cette vidéo les principales fonctionnalités du package de text mining "quanteda" pour R. Nous abordons tour à tour : le pré-traitement du corpus (suppression des ponctuations, des mots-vides, de chiffres, l'harmonisation de la casse), la tokenisation, la représentation des documents en sac de mots, les pondérations "term frequency" et binaires, la constitution du dictionnaire, l'analyse du voisinage des termes, le calcul des associations entre termes et variables supplémentaires. Nous donnons une tournure opérationnelle à la présentation en décrivant de manière approfondie un processus de catégorisation automatique de documents à l'aide d'un algorithme de machine learning – un SVM, support vector machine – de la librairie "e1071".

Mots-clés : logiciel R, package quanteda, tokenisation, dictionnaire, matrice documents-termes, pondération, catégorisation de documents, svm linéaire
Vidéo : Quanteda
Notebook R + Données : Imdb Reviews
Références :
"quanteda : Quantitative Analysis of Textual Data".

jeudi 4 novembre 2021

(Vidéo) Text mining avec tidytext sous R

Je montre dans cette vidéo les principales fonctionnalités du package de text mining "tidytext" pour R. Nous abordons tour à tour : le pré-traitement du corpus (suppression des ponctuations, des mots-vides, de chiffres, l'harmonisation de la casse), la tokenisation, la représentation des documents en sac de mots, la pondération "term frequency", la constitution du dictionnaire, l'analyse des sentiments associés aux documents à partir de la polarité des termes recensés dans un lexique dédié.

Mots-clés : logiciel R, package tidytext, tidyverse, tokenisation, dictionnaire, matrice documents-termes, pondération, analyse des sentiments
Vidéo : Tidytext
Notebook R + Données : Imdb Reviews
Références :
"Text mining with R", J. Silge & D. Robinson.

lundi 1 novembre 2021

(Vidéo) Subdivision train-test avec scikit-learn

Cette vidéo montre comment subdiviser aléatoirement un jeu de données en échantillons d'apprentissage et de test à l'aide de la fonction train_test_split(.) de la librairie "scikit-learn". J'essaie de mettre l'accent sur plusieurs aspects qui me paraissent important : l'organisation des données à présenter au module, le rôle des paramètres (train_size, random_state, stratify), les structures de données obtenues en sortie. Quelques statistiques descriptives simples permettent de s'assurer de la régularité du partitionnement.

Mots-clés : python, scikit-learn, train_test_split
Vidéo : Train test split
Code Python + Données : Breast Dataset
Références :
"Python - Machine learning avec scikit-learn", septembre 2015.

samedi 30 octobre 2021

(Vidéo) Machine learning avec PyCaret

"PyCaret" est la version Python du fameux package "caret" pour R. Il s'agit toujours d'un meta-package dans le sens où il ne programme pas directement les algorithmes de machine learning. Il s'appuie sur d'autres librairies pour cela, en particulier sur "scikit-learn". Il ajoute plutôt une surcouche destinée à nous faciliter la vie en prenant en charge une grande partie des tâches répétitives et fastidieuses de la pratique de la data science (élaboration d'un pipeline, préparation des données, détermination des meilleurs algorithmes, optimisation des hyperparamètres, déploiement, etc.). 

Cette vidéo montre comment mettre à profit "PyCaret" dans un schéma d'analyse prédictive, s'inspirant assez fortement du travail que je demande à mes étudiants lorsque j'évalue leur capacité à mener à bien un projet complet de machine learning dans un temps réduit.

Mots-clés : python, pycaret, extra trees, gradient boosting, random forest
Vidéo : Machine learning PyCaret
Notebook + Données : Spam Dataset
Références :
"Machine learning avec caret – Package R", avril 2018.

(Vidéo) Arbres de décision avec scikit-learn

Cette vidéo montre comment construire un arbre de décision avec la librairie "scikit-learn" pour Python. Nous utilisons la fameuse base iris. Les principales étapes abordées sont : l'entraînement de l'arbre sur l'échantillon d'apprentissage, les différents modes d'affichage de l'arbre, la prédiction et l'évaluation sur l'échantillon test, la modification des hyperparamètres et ses conséquences sur les performances du classifieur.

Mots-clés : python, scikit-learn, arbres de décision, decision tree
Vidéo : Arbres scikit-learn
Notebook + Données : Iris Dataset
Références :
"Python - Machine Learning avec scikit-learn", septembre 2015.
"Arbres de décision avec Scikit-Learn", février 2020.

jeudi 14 octobre 2021

(Vidéo) Scoring – Courbe Lift

Deux vidéos pour le prix d'une cette fois-ci. Nous retraçons la construction de la courbe de gain (courbe lift cumulé) à l'aide du tandem Tanagra + Excel. L'idée est de reproduire pas-à-pas les étapes décrites dans le cours : construction du modèle prédictif à partir de l'échantillon d'apprentissage, mise en lumière de la fonction score, son application sur l'échantillon test pour obtenir les scores des individus (probabilités d'appartenance à la classe cible, ou une grandeur équivalente), conception des deux colonnes permettant l'élaboration de la courbe (taille de cible et taux de vrais positifs [rappel, sensibilité]). Deux vidéos parce que nous utilisons l'analyse discriminante linéaire d'une part, la régression logistique d'autre part.

Mots-clés : tableur excel, courbe lift cumulé, courbe de gain, gain chart
Vidéo 1 : Scoring – Analyse Discriminante
Vidéo 2 : Scoring – Régression logistique
Données : Heart Dataset
Références :
"Scoring – Ciblage Marketing".

jeudi 7 octobre 2021

(Vidéo) Ridge, Lasso – Optim. des hyperparamètres

La question de l'optimisation des hyperparamètres des algorithmes de machine learning est posée dans cette vidéo. Nous nous appuyons sur l'exploration des performances mesurées en validation croisée sur l'échantillon d'apprentissage. Nous prenons pour exemple la régression logistique binaire, avec les régression pénalisées "Ridge" et "Lasso", pour lesquels nous faisons varier le paramètre de régularisation. L'outil GridSearchCV de la librairie Scikit-Learn pour Python est mise à contribution.

Mots-clés : python, scikit-learn, régression logistique binaire, gridsearchcv
Vidéo : Hyperparamètres Ridge Lasso
Notebook + Données : Spam Dataset
Références :
"Python - Machine Learning avec scikit-learn", septembre 2015.
"Régression logistique sur les grandes bases avec scikit-learn", décembre 2020.
"Pipeline Python pour le déploiement", janvier 2021.

mardi 28 septembre 2021

Régression Logistique – Machine Learning

Ce document est une version simplifiée et "modernisée" de mon support de cours pour la régression logistique, un peu plus "machine learning", un peu moins "statistique". Elle fait la part belle aux algorithmes d'optimisation, et essaie de clarifier autant que faire se peut le rôle des hyperparamètres. Sont tour à tour présentés : le mode d'estimation des coefficients de la régression, l'explicitation de l'importance des variables, les différentes approches pour la sélection de variables, les mécanismes de régularisation pour la régression en grandes dimensions (ridge, lasso, elasticnet), la régression multiclasse (approche multinomiale et combinaison de régressions binaires). L'interprétation approfondie des coefficients (odds-ratio), l'analyse des interactions, et l'inférence statistique qui s'y rapportent (tests, intervalles de confiance) ont été mis de côté.

Signe des temps, les exemples illustratifs sont réalisés sous Python avec la fameuse librairie "Scikit-Learn".

Mots-clés : régression logistique binaire, algorithmes d'optimisation, newton-raphson, descente de gradient, descente de gradient stochastique, importance des variables, sélection de variables, rfe, recursive feature elimination, rfecv, cross-validation, validation croisée, régression multiclasse, modèle multinomial, régressions one vs. rest, ovr, ridge, lasso, elasticnet
Support : ML – Régression logistique
Notebooks Python et fichiers : Breast - Iris
Références :
Page de cours "Régression logistique".
"Python - Machine learning avec scikit-learn", septembre 2015.
"Vidéo – Régression logistique avec Python / Scikit-Learn", juillet 2021.
"Régression logistique sous Python (Scikit-Learn, Statsmodels)", mars 2020.

samedi 25 septembre 2021

(Vidéo) Excel – Filtres, tableaux croisés

Cette vidéo présente rapidement quelques outils pour la manipulation des tables de données dans le tableur Excel. Nous voyons tour à tour : les filtres automatiques et avancés, puis les tableaux croisés dynamiques. Une illustration de l'utilisation de la fonction SI(…) d'Excel est également proposée.

Mots-clés : tableur, excel, listes de données, filtres, TCD, tableaux croisés dynamiques
Vidéo : Filtres & TCD Excel
Fichier : Produits
Références :
Filtres automatiques, avancés, tableaux croisés dynamiques.

jeudi 16 septembre 2021

(Vidéo) Cross-validation, leave-one-out

Cette vidéo s'attache à montrer l'intérêt et le mode opératoire de deux techniques de rééchantillonnage dans l'évaluation des performances des classifieurs : la validation croisée (cross-validation) et le leave-one-out. Je les positionne en particulier par rapport aux techniques usuelles d'évaluation en resubstitution et en schéma holdout (apprentissage-test). Une démonstration sous Tanagra montre les écarts que l'on peut observer entre les taux d'erreurs estimés selon les approches adoptées avec une base (200 observations vs. 60 variables prédictives candidates) et un algorithme (arbres de décision avec C4.5) propices au sur-apprentissage. Ils sont très révélateurs de leurs comportements respectifs.

Mots-clés : cross-validation, leave-one-out, holdout, resubstitution, taux d'erreur, arbres de décision, c4.5
Vidéo : Cross-validation
Slides : Schéma validation croisée
Données : Sonar
Références :
"Validation croisée, Boostrap (Diapos)", février 2015.

mardi 3 août 2021

(Vidéo) SAS sous Python avec SASPy

Dans cette vidéo, nous explorons les fonctionnalités du package SASPy. Il fournit des API qui permettent d'exploiter les fonctionnalités de la solution SAS Cloud pour l'enseignement académique. Plusieurs aspects retiennent particulièrement notre attention ici : la configuration de l'outil, qui n'est pas des plus simples ; la gestion en ligne des données, notamment l'accès aux banques SAS ; la mise en œuvre des algorithmes de machine learning et l'affichage des résultats. Nous privilégions un seul mode d'interaction avec le serveur distant dans notre tutoriel. En fin de vidéo, je précise les autres modalités possibles.

Mots-clés : sas, saspy, cloud, régression logistique, haute performance, random forest, sas ondemand for academics
Vidéo : SASPy
Données, fichier de configuration, notebook : Breast Cancer
Références :
"SASPy".
"SAS onDemand for Academics".