Scikit-learn


Scikit-learn est une bibliothèque d’apprentissage automatique en open source et disponible sous licence BSD. Elle est écrite en Python, avec quelques algorithmes essentiels écrits en Cython pour optimiser les performances.
La bibliothèque a été initialement développée par David Cournapeau dans le cadre du projet Google Summer of Code en 2007. Plus tard, Matthieu Brucher a rejoint le projet et a commencé à l’utiliser dans le cadre de son travail de thèse. En 2010, l’INRIA (Institut français de recherche en informatique et en automatique) s’est impliqué et la première version publique (v0.1 beta) a été publiée fin janvier 2010. Une communauté de développeurs a été rapidement constituée, ce qui a permis d’accélérer le développement de l’outil et de promouvoir des applications très diverses. A ce jour, la bibliothèque permet de répondre à des problématiques d’apprentissage supervisé et non supervisé.

Scikit-learn et l’apprentissage supervisé

L’apprentissage supervisé se définit par l’utilisation d’ensembles de données étiquetées pour former des algorithmes permettant de classer des données ou de prédire des résultats avec précision. Au fur et à mesure que les données d’entrée sont introduites dans le modèle, celui-ci ajuste ses poids grâce à un processus d’apprentissage par renforcement, ce qui garantit que le modèle a été ajusté de manière appropriée. L’apprentissage supervisé aide les organisations à résoudre une variété de problèmes du monde réel, telles la classification et la régression.

La classification : Les algorithmes de classification de l’apprentissage automatique utilisent les données d’entraînement en entrée pour prédire la probabilité que les données suivantes entrent dans l’une des catégories prédéterminées. L’une des utilisations les plus courantes de la classification est le filtrage des e-mails en « spam » ou « non-spam ».

La régression : La régression linéaire est un algorithme d’apprentissage automatique supervisé où la sortie prédite est une variable continue. Il est utilisé pour prédire des valeurs dans une plage continue (par exemple, les ventes, le prix, température) plutôt que d’essayer de les classer dans une catégorie (par exemple, chat, chien).

Pour répondre à des problématiques de régression ou de classification, voici une liste des modèles algorithmiques mis à disposition par Scikit-learn :

Machines à vecteurs de support – Plus proches voisins – Modèles linéaires généralisés – Bayes naïfs – Arbres de décision – Descente de gradient stochastique – Modèles de réseaux neuronaux (supervisés) – Algorithmes multi-classes et multi-labels.

Comment cela fonctionne avec l’apprentissage non supervisé ?

Pour l’apprentissage non supervisé, c’est beaucoup plus complexe. En effet, dans ce cas, on utilise des algorithmes d’apprentissage automatique pour analyser et regrouper des ensembles de données non étiquetées. Ces algorithmes découvrent des similarités dans les données ingérées sans aucune intervention humaine. Cette capacité à découvrir les similitudes et les différences entre les informations en fait la solution idéale pour l’analyse exploratoire des données, les stratégies de vente croisée, la segmentation de la clientèle et la reconnaissance d’images.

Voici une liste des modèles algorithmiques les plus populaires offerts par Scikit-learn dans la catégorie algorithmes non supervisés :

Regroupement – Biclustering – Apprentissage des formes – Modèles de mélange gaussien – Détection de la nouveauté et des aberrations – Modèles de réseaux neuronaux (non supervisés).

La bibliothèque fournit également divers outils pour l’ajustement des modèles, le prétraitement des données, la sélection et l’évaluation des modèles, ainsi que de nombreux autres utilitaires. L’évaluation est un processus visant à trouver le meilleur modèle qui représente les données et à déterminer si le modèle choisi fonctionnera bien à l’avenir afin d’éviter l’overfitting et l’underfitting par exemple.

Certaines des méthodes offertes par Scikit-learn sont :

Validation croisée : Réglage des hyper-paramètres d’un estimateur – Évaluation du modèle : quantifier la qualité des prédictions- Persistance du modèle – Courbes de validation : tracer des scores pour évaluer les modèles.

 

Aller en haut