jeudi 24 décembre 2020

(Vidéo) Régression logistique multinomiale avec keras

Dans cette vidéo, nous généralisons la régression logistique avec keras sous R au traitement des problèmes multi-classes c.-à-d. la prédiction d'une variable cible catégorielle comportant plus de 2 modalités. L'opération nécessite une préparation des données où nous exprimons la variable cible à l'aide d'une matrice d'indicatrices 0/1 via un recodage "one-hot-encoding" (un codage disjonctif tout simplement).

Mots-clés : logiciel R, keras, tensorflow, régression logistique,
Vidéo : Régression logistique multinomiale
Données et programme : iris dataset
Références :
"Deep Learning : perceptrons simples et multicouches", novembre 2018.
"(Vidéo) Régression logistique sous R avec keras", décembre 2020.

mercredi 23 décembre 2020

(Vidéo) Régression logistique sous R avec Keras

Dans cette vidéo, je montre l'instanciation de la régression logistique sous R avec la librairie "keras". Cette dernière est connue pour proposer essentiellement des algorithmes de deep learning. Il est néanmoins facile d'observer qu'il y a une relation directe entre la régression logistique et le perceptron simple, un des réseaux de neurones les plus simples.

Pour l'exemple traité, nous constatons que la "régression logistique" de keras se comporte très favorablement par rapport à la fonction glm(.) (du package "stats") qui fait pourtant référence sous R.

Mots-clés : logiciel R, keras, tensorflow, régression logistique, glm
Vidéo : LogisticRegression Keras R
Données et programme : MIT Face Image
Références :
"Deep Learning : perceptrons simples et multicouches", novembre 2018.
"Deep Learning – Tensorflow et Keras sous R", avril 2018.
"Packages R pour le Deep Learning", décembre 2018.

lundi 21 décembre 2020

(Vidéo) La régression logistique de scikit-learn

Dans cette vidéo sont explorés les paramètres de la régression logistique implémentée dans la librairie "scikit-learn" pour Python, en particulier : "multi_class" pour le mode d'appréhension des problèmes multi-classes (variable cible à plus de 2 modalités) ; "solver" qui correspond à l'algorithme d'optimisation de la vraisemblance sous-jacente à l'estimation des coefficients de la régression. Nous constaterons qu'ils influent directement sur la qualité de la modélisation et la vitesse de convergence.

Mots-clés : python, scikit-learn, régression logistique binaire et multinomiale
Vidéo : LogisticRegression Scikit-Learn
Données et programme : Covertype data
Références :
"Régression Logistique", page de cours.
"Régression Logistique sous Python", mars 2020.

jeudi 17 décembre 2020

Titre : (Vidéo) Sélection rapide de variables

Il est question de la sélection rapide de variables en analyse prédictive dans cette vidéo. Nous nous penchons en particulier sur les méthodes de ranking permettant de filtrer en amont les descripteurs avant la mise en œuvre des algorithmes de machine learning. Elles présentent l'avantage d'être très rapides sur des grandes bases de données, tant en nombre de variables que de variables prédictives candidates.

Ces techniques ne prennent en compte que la pertinence des descripteurs cependant c.-à-d. au sens de leur liaison statistique avec la variable cible, sans égard pour d'éventuelles redondances entre eux. Elles introduisent également un présupposé fort – très audacieux même – reposant sur l'idée que les descripteurs ainsi mis en évidence seront efficaces quel que soit l'algorithme d'apprentissage utilisé pour modéliser le concept les associant à la variable cible. Malgré tout, elles constituent une alternative très intéressantes aux autres méthodes de sélection. Elles permettent de défricher rapidement les grandes bases de données en réduisant drastiquement la dimensionnalité avec un effort de calcul minime.

Nous utilisons le module "feature_selection" de la libraire "scikit-learn" pour Python dans ce tutoriel. Le jeu de données correspond au fameux "waveform", bien connu en machine learning, auquel nous avons adjoint des descripteurs a priori non-pertinents que la méthode devrait pouvoir évacuer relativement facilement.

Mots-clés : python, scikit-learn, filter, ranking, feature selection, filtrage, analyse discriminante
Vidéo : Fast Feature Selection
Données et programme : Waveform data
Références :
"Filtrage des prédicteurs".
"Filtrage des prédicteurs discrets", juin 2010.

dimanche 13 décembre 2020

(Vidéo) Classifieurs linéaires

Dans cette vidéo, je reprend un ancien tutoriel dans lequel j'évaluais le comportement des différents algorithmes d'apprentissage de classifieurs linéaires sur des données artificielles. L'idée est de montrer qu'à système de représentation égal, les modèles s'expriment sous la forme de combinaisons linéaires des variables initiales, nous pouvons obtenir des résultats différents, et par conséquent des performances différentes, parce que les approches se distinguent par le mode d'estimation des coefficients.

Plutôt que R (dans la précédente expérimentation), nous utilisons Python et la fameuse librairie "scikit-learn" dans cette vidéo. Nous comparons l'analyse discriminante, la régression logistique et les SVM (support vector machine) à noyau linéaire. Pour ce dernier cas, nous observons que le paramétrage adopté pèse également sur la teneur des résultats, au-delà du choix de l'algorithme.

Les représentations graphiques dans le plan des frontières de séparation des classes induites par les algorithmes permettent d'illustrer leur comportement sur notre jeu de données.

Mots-clés : python, scikit-learn, analyse discriminante, régression logistique, svm
Vidéo : Classifieurs linéaires
Données et programme : Artificial data
Références :
"Classifieurs linéaires", mai 2013.

vendredi 11 décembre 2020

(Vidéo) Induction de règles prédictives

Dans cette vidéo, je parle des approches alternatives aux arbres de décision pour construire des modèles prédictifs à base de règles. Je fais en particulier un focus sur les algorithmes "separate-and-conquer" aboutissant à des systèmes de règles sous forme de liste de décisions ou de système de règles non-imbriquées. Les autres approches (bottom-up, algorithmes génétiques, règles floues) sont rapidement évoquées.

Je reprends alors un ancien tutoriel pour montrer la mise en oeuvre de ces algorithmes : (1) sous le logiciel R avec la procédure JRip du package "RWeka" ; (2) sous Tanagra avec les composants "Decision List" et "Rule Induction".  

Mots-clés : induction de règles, liste de décision, logiciel R
Vidéo : Induction de règles prédictives
Données et programme : Life Insurance
Références :
"Règles de décision prédictives – Diapos", décembre 2014.
"Induction de règles prédictives", novembre 2009.
"Listes de décision (vs. arbres de décision)", avril 2005.

lundi 7 décembre 2020

(Vidéo) Description des modèles avec PMML

Dans cette vidéo, je montre comment utiliser le format PMML pour déployer dans Knime un arbre de décision élaboré dans SIPINA. L'idée est de mettre en avant l'interopérabilité des outils à travers la norme description PMML (Predictive Model Markup Language) des modèles, format standardisé dérivé du XML. Ainsi, il est possible de faire coopérer les logiciels de machine learning et décupler les possibilités de traitements en associant les qualités des uns et des autres.

Une version rédigée de ce tutoriel (cf. références) montre que les possibilités d'interaction peuvent s'étende aux outils ETL (Extract, Transform, Load) tels que Pentaho Data Integration, introduisant de plain-pied les modèles issus d'algorithmes de machine learning au sein des systèmes d'information.

Mots-clés : déploiement, pmml, predictive model markup language
Vidéo : Le format PMML pour le déploiement
Données et programme : Heart - PMML
Références :
"Le format PMML pour le déploiement de modèles", septembre 2010.

samedi 5 décembre 2020

(Vidéo) Manipulation des DataFrames "pandas"

Dans cette vidéo, je montre comment manipuler la structure DataFrame de la librairie "pandas" pour Python. Nous explorons plusieurs étapes : l'importation d'un ensemble de données (fichier Excel ici, mais facilement transposable à d'autres types de fichiers comme les CSV), l'inspection de la structure, l'affichage des valeurs. Différents types d'accès sont détaillés : la projection sur quelques colonnes, les restrictions à partir de conditions, les accès indicés. Je montre également la réalisation de calculs statistiques simples (calcul de fréquences) sur les variables. Enfin, nous effectuons la jonction avec les structures de "numpy" pour effectuer facilement, rapidement, des calculs matriciels.

Une version détaillée et rédigée de la manipulation des DataFrames pandas est disponible sur ce site (voir les références).

Mots-clés : python, pandas, numpy
Vidéo : La librairie pandas pour Python
Données et programme : Iris - Pandas
Références :
"Python : Manipulation des données avec Pandas", février 2017.

vendredi 4 décembre 2020

(Vidéo) Analyse discriminante sous Python

Analyse discriminante linéaire sous Python avec le package "scikit-learn". Utilisation de la classe de calcul LinearDiscriminantAnalysis. Modélisation, entraînement du modèle sur les données d'apprentissage ; prédiction sur un échantillon non-étiqueté. Lecture des résultats, en particulier des coefficients des fonctions de classement. Références vers des tutoriels plus détaillés (lambda de Wilks, F de Rao, évaluation de la pertinence des variables) ou complémentaires (autres logiciels).

Mots-clés : analyse discriminante prédictive, python, scikit-learn
Vidéo : ADL sous Python
Données et programme : Kirsch – Mirabelle – Poire sous Python
Références :
"Pratique de l'Analyse Discriminante Linéaire", mai 2020.
"Analyse discriminante linéaire sous Python", avril 2020.
"Python - Machine Learning avec scikit-learn", septembre 2015.

jeudi 3 décembre 2020

(Vidéo) Analyse discriminante sous SAS

Analyse discriminante linéaire sous SAS. Modélisation (entraînement du modèle sur les données d'apprentissage) avec la PROC DISCRIM. Sélection de variables avec la PROC STEPDISC, les méthodes pas-à-pas et en particulier l'approche "forward". Détail du mode opératoire et lecture des résultats.

Mots-clés : analyse discriminante prédictive, logiciel SAS, proc discrim, proc stepdisc
Vidéo : ADL avec SAS
Données et programme : Kirsch – Mirabelle – Poire sous SAS
Références :
"Pratique de l'Analyse Discriminante Linéaire", mai 2020.
"SAS OnDemand for Academics".

mercredi 2 décembre 2020

(Vidéo) ADL sous R avec "discriminR"

Analyse discriminante linéaire sous R avec le package "discriminR". Modélisation (entraînement du modèle sur les données d'apprentissage), prédiction, sélection de variables avec les méthodes pas-à-pas, en particulier l'approche "forward". Lecture des résultats, focus sur les fonctions de classement directement fournies par la librairie, comparaison avec le mode opératoire et les sorties du package "klaR" pour la sélection.

Mots-clés : analyse discriminante prédictive, logiciel R, package discriminR, package klaR
Vidéo : ADL avec discriminR
Sortie des traitements : Sortie Markdown
Données et programme : Kirsch – Mirabelle - Poire
Références :
"Pratique de l'Analyse Discriminante Linéaire", mai 2020.
"Analyse discriminante linéaire sous R", avril 2020.