Table des matières[Cacher][Montrer]
Si vous êtes un programmeur Python ou si vous recherchez une boîte à outils puissante à utiliser pour introduire l'apprentissage automatique dans un système de production, Scikit-learn est une bibliothèque que vous devez consulter.
Scikit-learn est bien documenté et simple à utiliser, que vous débutiez dans l'apprentissage automatique, que vous souhaitiez être opérationnel rapidement ou que vous souhaitiez utiliser l'outil de recherche ML le plus récent.
Il vous permet de construire un modèle de données prédictif en seulement quelques lignes de code, puis d'utiliser ce modèle pour l'adapter à vos données en tant que bibliothèque de haut niveau. Il est flexible et fonctionne bien avec d'autres Bibliothèques Python comme Matplotlib pour les graphiques, NumPy pour la vectorisation de tableaux et les pandas pour la visualisation des données.
Dans ce guide, vous découvrirez tout ce que c'est, comment vous pouvez l'utiliser, ainsi que ses avantages et ses inconvénients.
Qu’est ce qu' Scikit-apprendre?
Scikit-learn (également connu sous le nom de sklearn) propose un ensemble diversifié de modèles statistiques et d'apprentissage automatique. Contrairement à la plupart des modules, sklearn est développé en Python plutôt qu'en C. Bien qu'il soit développé en Python, l'efficacité de sklearn est attribuée à son utilisation de NumPy pour des opérations d'algèbre linéaire et de tableau hautes performances.
Scikit-Learn a été créé dans le cadre du projet Summer of Code de Google et a depuis simplifié la vie de millions de data scientists centrés sur Python à travers le monde. Cette section de la série se concentre sur la présentation de la bibliothèque et se concentre sur un élément - les transformations des ensembles de données, qui sont une étape clé et vitale à franchir avant de développer un modèle de prédiction.
La bibliothèque est basée sur SciPy (Scientific Python), qui doit être installé avant de pouvoir utiliser scikit-learn. Cette pile contient les éléments suivants :
- NumPy : package de tableau à n dimensions standard de Python
- SciPy : C'est un package fondamental pour le calcul scientifique
- Pandas : structures et analyse des données
- Matplotlib : C'est une puissante bibliothèque de traçage 2D/3D
- Sympy : Mathématiques symboliques
- IPython : console interactive améliorée
Applications de la bibliothèque Scikit-learn
Scikit-learn est un package Python open source avec des fonctionnalités sophistiquées d'analyse et d'exploration de données. Il est livré avec une pléthore d'algorithmes intégrés pour vous aider à tirer le meilleur parti de vos projets de science des données. La bibliothèque Scikit-learn est utilisée des manières suivantes.
1. Régression
L'analyse de régression est une technique statistique pour analyser et comprendre le lien entre deux ou plusieurs variables. La méthode utilisée pour effectuer une analyse de régression aide à déterminer quels éléments sont pertinents, lesquels peuvent être ignorés et comment ils interagissent. Les techniques de régression, par exemple, peuvent être utilisées pour mieux comprendre le comportement des cours boursiers.
Les algorithmes de régression incluent :
- Régression Linéaire
- Régression Ridge
- Régression au lasso
- Régression d'arbre de décision
- Forêt aléatoire
- Machines vectorielles de soutien (SVM)
2. Classification
La méthode de classification est une approche d'apprentissage supervisé qui utilise des données de formation pour identifier la catégorie des nouvelles observations. Un algorithme de classification apprend à partir d'un jeu de données ou observations, puis classe les observations supplémentaires dans l'une des nombreuses classes ou groupes. Ils peuvent, par exemple, être utilisés pour classer les communications par e-mail comme spam ou non.
Les algorithmes de classification incluent les éléments suivants :
- Régression logistique
- Les voisins les plus proches
- Soutenir la machine vectorielle
- Arbre de décision
- Forêt aléatoire
3. Regroupement
Les algorithmes de clustering de Scikit-learn sont utilisés pour organiser automatiquement les données avec des propriétés similaires dans des ensembles. Le clustering est le processus de regroupement d'un ensemble d'éléments afin que ceux d'un même groupe soient plus similaires à ceux d'autres groupes. Les données client, par exemple, peuvent être séparées en fonction de leur emplacement.
Les algorithmes de clustering incluent les éléments suivants :
- DB-SCAN
- K-Moyens
- Mini-lot K-Means
- Regroupement spectral
4. Sélection du modèle
Les algorithmes de sélection de modèles fournissent des méthodes pour comparer, valider et sélectionner les paramètres et modèles optimaux à utiliser dans les initiatives de science des données. Compte tenu des données, la sélection du modèle est le problème de choisir un modèle statistique à partir d'un groupe de modèles candidats. Dans les circonstances les plus élémentaires, une collecte de données préexistante est prise en compte. Cependant, la tâche peut également inclure la conception d'expériences afin que les données acquises soient bien adaptées au problème de sélection de modèle.
Les modules de sélection de modèles qui peuvent améliorer la précision en ajustant les paramètres incluent :
- Validation croisée
- Recherche de grille
- Métrique
5. Réduction de la dimensionnalité
Le transfert de données d'un espace de grande dimension vers un espace de faible dimension afin que la représentation de faible dimension préserve certains aspects significatifs des données d'origine, idéalement proches de sa dimension inhérente, est connu sous le nom de réduction de dimensionnalité. Le nombre de variables aléatoires pour l'analyse est réduit lorsque la dimensionnalité est réduite. Les données périphériques, par exemple, peuvent ne pas être considérées comme améliorant l'efficacité des visualisations.
L'algorithme de réduction de dimensionnalité comprend les éléments suivants :
- Sélection de fonctionnalité
- Analyse en composantes principales (ACP)
Installation de Scikit-learn
NumPy, SciPy, Matplotlib, IPython, Sympy et Pandas doivent être installés avant d'utiliser Scikit-learn. Installons-les en utilisant pip depuis la console (fonctionne uniquement pour Windows).
Installons Scikit-learn maintenant que nous avons installé les bibliothèques requises.
Fonctionnalités:
Scikit-learn, parfois appelé sklearn, est une boîte à outils Python pour la mise en œuvre de modèles d'apprentissage automatique et de modélisation statistique. Nous pouvons l'utiliser pour créer plusieurs modèles d'apprentissage automatique pour la régression, la classification et le regroupement, ainsi que des outils statistiques pour évaluer ces modèles. Il comprend également la réduction de la dimensionnalité, la sélection des caractéristiques, l'extraction des caractéristiques, les approches d'ensemble et les ensembles de données intégrés. Nous étudierons chacune de ces qualités une par une.
1. Importation d'ensembles de données
Scikit-learn comprend un certain nombre d'ensembles de données prédéfinis, tels que l'ensemble de données iris, l'ensemble de données sur le prix des maisons, l'ensemble de données titanic, etc. Les principaux avantages de ces ensembles de données sont qu'ils sont simples à saisir et peuvent être utilisés pour développer immédiatement des modèles ML. Ces ensembles de données conviennent aux novices. De même, vous pouvez utiliser sklearn pour importer des ensembles de données supplémentaires. De même, vous pouvez l'utiliser pour importer des ensembles de données supplémentaires.
2. Fractionnement de l'ensemble de données pour la formation et les tests
Sklearn comprenait la possibilité de diviser l'ensemble de données en segments de formation et de test. Le fractionnement de l'ensemble de données est nécessaire pour une évaluation impartiale des performances de prédiction. Nous pouvons spécifier la quantité de nos données à inclure dans les ensembles de données d'entraînement et de test. Nous avons divisé l'ensemble de données à l'aide de la division de test de train de sorte que l'ensemble de train comprenne 80 % des données et l'ensemble de test en ait 20 %. Le jeu de données peut être divisé comme suit :
3. Régression linéaire
La régression linéaire est une technique d'apprentissage automatique basée sur l'apprentissage supervisé. Il effectue un travail de régression. Sur la base de variables indépendantes, la régression modélise une valeur de prédiction d'objectif. Il est principalement utilisé pour déterminer le lien entre les variables et la prédiction. Différents modèles de régression diffèrent en termes de type de connexion qu'ils évaluent entre les variables dépendantes et indépendantes, ainsi que le nombre de variables indépendantes utilisées. Nous pouvons simplement créer le modèle de régression linéaire en utilisant sklearn comme suit :
4. Régression logistique
Une approche de catégorisation courante est la régression logistique. C'est dans la même famille que la régression polynomiale et linéaire et appartient à la famille des classificateurs linéaires. Les résultats de la régression logistique sont simples à comprendre et rapides à calculer. Au même titre que la régression linéaire, la régression logistique est une technique de régression supervisée. La variable de sortie est catégorique, c'est donc la seule différence. Il peut déterminer si un patient a ou non une maladie cardiaque.
Divers problèmes de classification, tels que la détection de spam, peuvent être résolus à l'aide de la régression logistique. Prévoir le diabète, déterminer si un consommateur achètera un produit spécifique ou passera à un concurrent, déterminer si un utilisateur cliquera sur un lien marketing spécifique, et bien d'autres scénarios ne sont que quelques exemples.
5. Arbre de décision
La technique de classification et de prédiction la plus puissante et la plus largement utilisée est l'arbre de décision. Un arbre de décision est une structure arborescente qui ressemble à un organigramme, chaque nœud interne représentant un test sur un attribut, chaque branche représentant la conclusion du test et chaque nœud feuille (nœud terminal) contenant une étiquette de classe.
Lorsque les variables dépendantes n'ont pas de relation linéaire avec les variables indépendantes, c'est-à-dire lorsque la régression linéaire ne produit pas de résultats corrects, les arbres de décision sont avantageux. L'objet DecisionTreeRegression() peut être utilisé d'une manière similaire pour utiliser un arbre de décision pour la régression.
6. Forêt aléatoire
Une forêt aléatoire est un machine learning approche pour résoudre les problèmes de régression et de classification. Il utilise l'apprentissage d'ensemble, qui est une technique qui combine plusieurs classificateurs pour résoudre des problèmes complexes. Une méthode de forêt aléatoire est composée d'un grand nombre d'arbres de décision. Il peut être utilisé pour catégoriser les demandes de prêt, détecter les comportements frauduleux et anticiper les épidémies.
7. Matrice de confusion
Une matrice de confusion est un tableau utilisé pour décrire les performances du modèle de classification. Les quatre mots suivants sont utilisés pour examiner la matrice de confusion :
- Vrai positif : Cela signifie que le modèle prévoyait un résultat favorable et qu'il était correct.
- Vrai négatif : Cela signifie que le modèle a projeté un mauvais résultat et qu'il était correct.
- Faux positif : cela signifie que le modèle s'attendait à un résultat favorable, mais qu'il était en réalité négatif.
- Faux négatif : Cela signifie que le modèle s'attendait à un résultat négatif, alors que le résultat était vraiment positif.
Implémentation de la matrice de confusion :
Avantages
- C'est simple à utiliser.
- Le package Scikit-learn est extrêmement adaptable et utile, servant des objectifs réels tels que la prédiction du comportement des consommateurs, le développement de neuroimages, etc.
- Les utilisateurs qui souhaitent connecter les algorithmes à leurs plateformes trouveront une documentation API détaillée sur le site Scikit-learn.
- De nombreux auteurs, collaborateurs et une grande communauté en ligne mondiale soutiennent et maintiennent Scikit-learn à jour.
Inconvénients
- Ce n'est pas l'option idéale pour une étude approfondie.
Conclusion
Scikit-learn est un package essentiel pour que chaque scientifique des données ait une bonne compréhension et une certaine expérience. Ce guide devrait vous aider à manipuler des données à l'aide de sklearn. Il existe de nombreuses autres fonctionnalités de Scikit-learn que vous découvrirez au fur et à mesure de votre progression dans votre aventure en science des données. Partagez votre opinion dans les commentaires.
Soyez sympa! Laissez un commentaire