Skip to content

Instantly share code, notes, and snippets.

@FrancoisMB
FrancoisMB / test_speed_numba.py
Created October 4, 2017 14:08
Test the speed increase provided by the use of numba.jit
import sys
if 'numba' not in sys.modules:
import pip
pip.main(["install", "numba"])
from numba import jit
from numpy import arange
import timeit
@jit
@FrancoisMB
FrancoisMB / supervised_ml_with_scikitlearn_tutorial.py
Last active January 16, 2020 06:41
The goal of this gist is to display how scikit learn works
# -*- coding: utf-8 -*-
"""
Created on Thu Oct 26 18:32:47 2017
Supervised machine learning with scikit learn
L'objectif de ce tutoriel est de vous introduire à la manipulation de scikit-learn.
Pour cela, on charge en mémoire de la donnée avant de voir comment mettre sur pied des modèles de machine learning supervisés.
On verra ensuite comment ensembler les modèles, puis comment utiliser les procédures de cross-validation, comment utiliser la fonctionnalité de grid search (ainsi qu'un module supplémentaire s'intégrant très bien à scikit-learn, qui permet de faire du grid search évolutionnaire), comment utiliser la fonctionnalité d'élimination récursive des features.
Notez que le but de ce tutoriel est de comprendre comment un objet "modèle" peut être passé pour être transformé en objet "modèle cross validé" puis à nouveau passé pour être transformé en objet "modèle cross validé optimisé via grid search", puis à nouveau pour être transformé en "modèle ensemblé résultant de plusieurs modèles qui ont été cro
@FrancoisMB
FrancoisMB / h2o_tutorial.py
Created November 20, 2017 16:44
The goal of this gist is to display how h2o works
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 31 19:02:05 2017
h2o tutorial
L'objectif de ce tutoriel est de vous introduire à la manipulation d'un cluster h2o via l'API Python.
Pour cela, un cluster d'un noeud est simulé sur votre machine. Notez que toutes les questions relatives à l'installation et l'architecture d'h2o ne sont pas abordées ici.
Ensuite, vous chargerez de la donnée sur ce cluster. On comprendra comment l'interaction entre cette donnée et Python se fait.
On apprendra ensuite comment mettre sur pied des modèles de machine learning supervisés. On verra ensuite comment utiliser une procédure de validation puis de cross-validation, comment utiliser la fonctionnalité de grid search, et comment ensembler les modèles. Enfin, on verra un rapide bout de code utilisant la fonctionnalité autoML.
@FrancoisMB
FrancoisMB / tensorflow_tutorial.py
Last active March 8, 2018 09:51
The goal of this gist is to display how TensorFlow works
# -*- coding: utf-8 -*-
"""
Created on Mon Nov 13 23:03:34 2017
TensorFlow tutorial
L'objectif de ce tutoriel est de vous introduire à la manipulation d'un réseau de neurone avec TensorFlow.
Pour cela, on va d'abord comprendre comment fonctionne le modèle contrôle/état de TensorFlow (le fait de définir l'architecture de son réseau de neurones et sa procédure d'optimisation, puis d'exécuter ça dans une session). Ensuite, on construit un premier modèle simpliste pour comprendre le fonctionnement des briques de TensorFlow, avant de voir comment tf.estimator fournit un niveau plus élevé d'abstraction pour manipuler les estimateurs plus simplement. On redescend ensuite au niveau des neurones pour voir comment serait construit un réseau de neurones simple puis un réseau de neurones convolutionnel en TensorFlow.
Notez que le but de ce tutoriel est de comprendre comment se manipule TensorFlow. Il est extrêmement probable que vous n'y comprendrez rien si vous n'avez jamais vu en détail comment fonctionnent les math
@FrancoisMB
FrancoisMB / keras_tutorial.py
Last active November 21, 2017 09:43
The goal of this gist is to display how Keras works and how it integrates with scikit-learn
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 15 17:08:37 2017
Keras tutorial
L'objectif de ce tutoriel est de vous introduire à la manipulation de Keras. Mieux vaut avoir fait le tutoriel sur TensorFlow avant, puisque Keras utilise son moteur comme backend (ou Theano ou CNTK).
Pour cela, on charge en mémoire de la donnée avant de voir comment mettre sur pied un premier réseau de neurone pour comprendre la syntaxe d'utilisation de Keras.
Une fois que c'est compris, on voit comment intégrer un modèle Keras dans un workflow scikit-learn, ce qui permet d'utiliser les fonctionnalités de scikit-learn tel que la cross validation. On voir ensuite comment utiliser les fonctionnalités de grid search sur les layers de neurones eux-mêmes et même comment grid-searcher avec et sans des layers de neurones.