Scikit Learn - Introduction

Dans ce chapitre, nous comprendrons ce qu'est Scikit-Learn ou Sklearn, l'origine de Scikit-Learn et d'autres sujets connexes tels que les communautés et les contributeurs responsables du développement et de la maintenance de Scikit-Learn, ses prérequis, son installation et ses fonctionnalités.

Qu'est-ce que Scikit-Learn (Sklearn)

Scikit-learn (Sklearn) est la bibliothèque la plus utile et la plus robuste pour l'apprentissage automatique en Python. Il fournit une sélection d'outils efficaces pour l'apprentissage automatique et la modélisation statistique, notamment la classification, la régression, le clustering et la réduction de dimensionnalité via une interface de cohérence en Python. Cette bibliothèque, qui est en grande partie écrite en Python, est construite surNumPy, SciPy et Matplotlib.

Origine de Scikit-Learn

Il s'appelait à l'origine scikits.learn et a été initialement développé par David Cournapeau comme projet d'été de code Google en 2007. Plus tard, en 2010, Fabian Pedregosa, Gael Varoquaux, Alexandre Gramfort et Vincent Michel, du FIRCA (Institut français de recherche en informatique et en automatisation), ont pris ce projet à un autre niveau et a fait la première version publique (v0.1 beta) le 1er février 2010.

Jetons un coup d'œil à son historique des versions -

  • Mai 2019: scikit-learn 0.21.0

  • Mars 2019: scikit-learn 0.20.3

  • Décembre 2018: scikit-learn 0.20.2

  • Novembre 2018: scikit-learn 0.20.1

  • Septembre 2018: scikit-learn 0.20.0

  • Juillet 2018: scikit-learn 0.19.2

  • Juillet 2017: scikit-learn 0.19.0

  • Septembre 2016. scikit-learn 0.18.0

  • Novembre 2015. scikit-learn 0.17.0

  • Mars 2015. scikit-learn 0.16.0

  • Juillet 2014. scikit-learn 0.15.0

  • Août 2013. scikit-learn 0.14

Communauté et contributeurs

Scikit-learn est un effort communautaire et tout le monde peut y contribuer. Ce projet est hébergé surhttps://github.com/scikit-learn/scikit-learn. Les personnes suivantes sont actuellement les principaux contributeurs au développement et à la maintenance de Sklearn -

  • Joris Van den Bossche (Data Scientist)

  • Thomas J Fan (développeur de logiciels)

  • Alexandre Gramfort (chercheur en apprentissage automatique)

  • Olivier Grisel (Expert en apprentissage automatique)

  • Nicolas Hug (chercheur associé)

  • Andreas Mueller (scientifique en apprentissage automatique)

  • Hanmin Qin (ingénieur logiciel)

  • Adrin Jalali (Développeur Open Source)

  • Nelle Varoquaux (chercheuse en science des données)

  • Roman Yurchak (Data Scientist)

Diverses organisations comme Booking.com, JP Morgan, Evernote, Inria, AWeber, Spotify et bien d'autres utilisent Sklearn.

Conditions préalables

Avant de commencer à utiliser la dernière version de scikit-learn, nous avons besoin des éléments suivants:

  • Python (> = 3,5)

  • NumPy (> = 1.11.0)

  • Scipy (> = 0,17,0) li

  • Joblib (> = 0,11)

  • Matplotlib (> = 1.5.1) est requis pour les capacités de traçage de Sklearn.

  • Pandas (> = 0.18.0) est requis pour certains des exemples scikit-learn utilisant la structure et l'analyse des données.

Installation

Si vous avez déjà installé NumPy et Scipy, voici les deux façons les plus simples d'installer scikit-learn -

Utilisation de pip

La commande suivante peut être utilisée pour installer scikit-learn via pip -

pip install -U scikit-learn

Utilisation de conda

La commande suivante peut être utilisée pour installer scikit-learn via conda -

conda install scikit-learn

D'autre part, si NumPy et Scipy ne sont pas encore installés sur votre poste de travail Python, vous pouvez les installer en utilisant soit pip ou conda.

Une autre option pour utiliser scikit-learn est d'utiliser des distributions Python comme Canopy et Anaconda car ils fournissent tous les deux la dernière version de scikit-learn.

traits

Plutôt que de se concentrer sur le chargement, la manipulation et la synthèse des données, la bibliothèque Scikit-learn se concentre sur la modélisation des données. Certains des groupes de modèles les plus populaires fournis par Sklearn sont les suivants:

Supervised Learning algorithms - Presque tous les algorithmes d'apprentissage supervisé populaires, tels que la régression linéaire, la machine vectorielle de support (SVM), l'arbre de décision, etc., font partie de scikit-learn.

Unsupervised Learning algorithms - D'autre part, il dispose également de tous les algorithmes d'apprentissage non supervisés populaires, du clustering, de l'analyse factorielle, de l'ACP (analyse en composantes principales) aux réseaux de neurones non supervisés.

Clustering - Ce modèle est utilisé pour regrouper des données non étiquetées.

Cross Validation - Il est utilisé pour vérifier l'exactitude des modèles supervisés sur des données invisibles.

Dimensionality Reduction - Il est utilisé pour réduire le nombre d'attributs dans les données qui peuvent être utilisés pour la synthèse, la visualisation et la sélection des caractéristiques.

Ensemble methods - Comme son nom l'indique, il est utilisé pour combiner les prédictions de plusieurs modèles supervisés.

Feature extraction - Il est utilisé pour extraire les caractéristiques des données pour définir les attributs dans les données image et texte.

Feature selection - Il est utilisé pour identifier les attributs utiles pour créer des modèles supervisés.

Open Source - C'est une bibliothèque open source et également utilisable commercialement sous licence BSD.