Pratiquez l'apprentissage automatique avec les ensembles de données du référentiel UCI Machine Learning
Où pouvez-vous obtenir de bons ensembles de données pour pratiquer l’apprentissage automatique ?
Des ensembles de données qui sont réels, donc intéressants et pertinents, bien que suffisamment petits pour que vous puissiez les examiner dans Excel et les travailler sur votre bureau.
Dans cet article, vous découvrirez une base de données d'ensembles de données d'apprentissage automatique de haute qualité, réels et bien compris, que vous pouvez utiliser pour pratiquer l'apprentissage automatique appliqué.
Cette base de données s'appelle le référentiel d'apprentissage automatique UCI et vous pouvez l'utiliser pour structurer un programme d'auto-apprentissage et construire une base solide en apprentissage automatique.
Pourquoi avons-nous besoin d’ensembles de données pratiques ?
Si vous souhaitez pratiquer l’apprentissage automatique appliqué, vous avez besoin d’ensembles de données sur lesquels vous entraîner.
Ce problème peut vous arrêter mort.
- Quel ensemble de données devriez-vous utiliser ?
- Devriez-vous récupérer le vôtre ou en utiliser un disponible dans le commerce ?
- Lequel et pourquoi ?
J'enseigne une approche descendante de l'apprentissage automatique dans laquelle je vous encourage à apprendre un processus pour résoudre un problème de bout en bout, à mapper ce processus sur un outil et à pratiquer le processus sur des données de manière ciblée. Pour plus d'informations, consultez mon article « Apprentissage automatique pour les programmeurs : passez du statut de développeur à celui de praticien de l'apprentissage automatique ».
Alors, comment pratiquer de manière ciblée ?
J'enseigne que la meilleure façon de commencer est de s'entraîner sur des ensembles de données présentant des caractéristiques spécifiques.
Je vous recommande de sélectionner les traits que vous rencontrerez et que vous devrez aborder lorsque vous commencerez à travailler sur vos propres problèmes, tels que :
- Différents types d'apprentissage supervisé tels que la classification et la régression.
- Ensembles de données de différentes tailles, comprenant des dizaines, des centaines, des milliers et des millions d'instances.
- Différents nombres d'attributs de moins de dix, dizaines, centaines et milliers d'attributs
- Différents types d'attributs : réel, entier, catégoriel, ordinal et mélanges
- Différents domaines qui vous obligent à comprendre et caractériser rapidement un nouveau problème dans lequel vous n'avez aucune expérience préalable.
Vous pouvez créer un programme de caractéristiques à étudier et à connaître, ainsi que l'algorithme dont vous avez besoin pour y répondre, en concevant un programme d'ensembles de données de problèmes de test à utiliser.
Un tel programme comporte un certain nombre d'exigences pratiques, par exemple :
- Monde réel : les ensembles de données doivent être tirés du monde réel (plutôt que d'être artificiels). Cela les gardera intéressants et présentera les défis liés aux données réelles.
- Petit : les ensembles de données doivent être petits pour que vous puissiez les inspecter et les comprendre et que vous puissiez exécuter rapidement de nombreux modèles pour accélérer votre cycle d'apprentissage.
- Bien compris : il doit y avoir une idée claire de ce que contiennent les données, pourquoi elles ont été collectées, quel est le problème qui doit être résolu afin que vous puissiez cadrer votre enquête.
- Référence : il est également important d'avoir une idée des algorithmes connus pour être efficaces et des scores qu'ils ont obtenus afin que vous disposiez d'un point de comparaison utile. Ceci est important lorsque vous commencez et apprenez, car vous avez besoin d'un retour rapide sur vos performances (proche de l'état de l'art ou quelque chose est cassé).
- Abondant : vous avez besoin de choisir parmi de nombreux ensembles de données, à la fois pour satisfaire les caractéristiques que vous souhaitez étudier et (si possible) votre curiosité et vos intérêts naturels.
Pour les débutants, vous pouvez obtenir tout ce dont vous avez besoin et bien plus encore en termes d’ensembles de données sur lesquels vous entraîner à partir du référentiel UCI Machine Learning.
Qu'est-ce que le référentiel UCI Machine Learning ?
L'UCI Machine Learning Repository est une base de données de problèmes d'apprentissage automatique à laquelle vous pouvez accéder gratuitement.
Il est hébergé et maintenu par le Center for Machine Learning and Intelligent Systems de l'Université de Californie à Irvine. Il a été créé à l'origine par David Aha alors qu'il était étudiant diplômé à l'UC Irvine.
Depuis plus de 25 ans, c'est le lieu incontournable pour les chercheurs et les praticiens de l'apprentissage automatique qui ont besoin d'un ensemble de données.
Chaque ensemble de données dispose de sa propre page Web qui répertorie tous les détails connus à son sujet, y compris toutes les publications pertinentes qui l'étudient. Les ensembles de données eux-mêmes peuvent être téléchargés sous forme de fichiers ASCII, souvent au format CSV, très utile.
Par exemple, voici la page Web de l'ensemble de données sur les ormeaux qui nécessite la prédiction de l'âge des ormeaux à partir de leurs mesures physiques.
Avantages du référentiel
Certaines fonctionnalités utiles de la bibliothèque incluent :
- Presque tous les ensembles de données sont issus du domaine (au lieu d'être synthétiques), ce qui signifie qu'ils ont des qualités réelles.
- Les ensembles de données couvrent un large éventail de sujets allant de la biologie à la physique des particules.
- Les détails des ensembles de données sont résumés par des aspects tels que les types d'attributs, le nombre d'instances, le nombre d'attributs et l'année de publication qui peuvent être triés et recherchés.
- Les jeux de données sont bien étudiés, ce qui signifie qu’ils sont bien connus en termes de propriétés intéressantes et de « bons » résultats attendus. Cela peut fournir une base de référence utile pour la comparaison.
- La plupart des ensembles de données sont petits (des centaines à des milliers d'instances), ce qui signifie que vous pouvez facilement les charger dans un éditeur de texte ou MS Excel et les réviser, vous pouvez également les modéliser facilement et rapidement sur votre poste de travail.
Parcourez plus de 300 ensembles de données à l'aide de ce tableau pratique qui prend en charge le tri et la recherche.
Critiques du référentiel
Certaines critiques du référentiel incluent :
- Les ensembles de données sont nettoyés, ce qui signifie que les chercheurs qui les ont préparés ont souvent déjà effectué un prétraitement en termes de sélection d'attributs et d'instances.
- Les ensembles de données sont petits, cela n'est pas utile si vous souhaitez étudier des problèmes et des techniques à plus grande échelle.
- Il y a tellement de choix que vous pouvez être figé par l’indécision et la suranalyse. Il peut être difficile de simplement sélectionner un ensemble de données et de commencer lorsque vous ne savez pas s'il s'agit d'un « bon ensemble de données » pour ce que vous étudiez.
- Les ensembles de données sont limités aux données tabulaires, principalement à des fins de classification (bien que les ensembles de données de clustering et de régression soient répertoriés). Ceci est limitant pour ceux qui s’intéressent au langage naturel, à la vision par ordinateur, aux recommandations et à d’autres données.
Jetez un œil à la page d'accueil du référentiel car elle affiche les ensembles de données en vedette, les ensembles de données les plus récents ainsi que les ensembles de données actuellement les plus populaires.
Un programme d'auto-apprentissage
Alors, comment pouvez-vous tirer le meilleur parti du référentiel d’apprentissage automatique UCI ?
Je vous conseillerais de réfléchir aux caractéristiques des ensembles de données problématiques sur lesquelles vous aimeriez en savoir plus.
Il peut s'agir de traits que vous aimeriez modéliser (comme la régression) ou d'algorithmes qui modélisent ces traits que vous aimeriez mieux utiliser (comme une forêt aléatoire pour la classification multi-classes).
Un exemple de programme pourrait ressembler à ce qui suit :
- Classification binaire : ensemble de données sur le diabète des Indiens Pima (disponible ici)
- Classification multiclasse : ensemble de données Iris
- Régression : ensemble de données sur la qualité du vin
- Attributs catégoriels : ensemble de données sur le cancer du sein
- Attributs entiers : ensemble de données sur le matériel informatique
- Fonction de coût de classification : données de crédit allemandes
- Données manquantes : ensemble de données sur les coliques du cheval
Il s'agit simplement d'une liste de traits, vous pouvez sélectionner vos propres traits à étudier.
J'ai répertorié un ensemble de données pour chaque trait, mais vous pouvez choisir 2 à 3 ensembles de données différents et réaliser quelques petits projets pour améliorer votre compréhension et mettre plus de pratique.
Pour chaque problème, je vous conseille de le travailler systématiquement de bout en bout, par exemple en suivant les étapes suivantes dans le processus de machine learning appliqué :
- Définir le problème
- Préparer les données
- Évaluer les algorithmes
- Améliorer les résultats
- Résultats de la rédaction
Pour en savoir plus sur le processus de résolution systématique d'un problème d'apprentissage automatique, consultez mon article intitulé « Processus de résolution des problèmes d'apprentissage automatique ».
La rédaction est un élément clé.
Il vous permet de constituer un portefeuille de projets auquel vous vous référerez comme référence pour de futurs projets et de prendre un bon départ, ainsi que d'utiliser comme CV public ou vos compétences et capacités croissantes en apprentissage automatique appliqué.
Pour en savoir plus sur la création d'un portefeuille de projets, consultez mon article « Créer un portefeuille d'apprentissage automatique : réalisez de petits projets ciblés et démontrez vos compétences ».
Mais et si…
Je ne connais pas d'outil d'apprentissage automatique.
Choisissez un outil ou une plate-forme (comme Weka, R ou scikit-learn) et utilisez ce processus pour apprendre un outil. Couvrez à la fois la pratique de l’apprentissage automatique et la maîtrise de votre outil.
Je ne sais pas programmer (ni très bien coder).
Utilisez Weka. Il dispose d'une interface utilisateur graphique et aucune programmation n'est requise. Je le recommanderais aux débutants, qu'ils sachent ou non programmer, car le processus de résolution des problèmes d'apprentissage automatique s'adapte si bien à la plate-forme.
Je n'ai pas le temps.
Avec un processus systématique solide et un bon outil qui couvre l'ensemble du processus, je pense que vous pourriez résoudre un problème en une ou deux heures. . Cela signifie que vous pouvez réaliser un projet en une soirée ou en deux soirées.
Vous choisissez le niveau de détail à étudier et c'est une bonne idée de le garder léger et simple au début.
Je n'ai aucune expérience dans le domaine que je modélise.
Les pages de l'ensemble de données fournissent des informations générales sur l'ensemble de données. Vous pouvez souvent approfondir en consultant les publications ou les fichiers d’informations accompagnant l’ensemble de données principal.
J'ai peu ou pas d'expérience dans la résolution de problèmes d'apprentissage automatique.
Il est maintenant temps de commencer. Choisissez un processus systématique, choisissez un ensemble de données simple et un outil comme Weka et résolvez votre premier problème. Placez cette première pierre dans votre fondation d’apprentissage automatique.
Je n'ai aucune expérience en analyse de données.
Aucune expérience en analyse de données n'est requise. Les ensembles de données sont simples, faciles à comprendre et bien expliqués. Il vous suffit de les lire en utilisant la page d'accueil des ensembles de données et en consultant les fichiers de données eux-mêmes.
Étape d'action
Sélectionnez un ensemble de données et commencez.
Si vous êtes sérieux au sujet de votre auto-apprentissage, envisagez de concevoir une modeste liste de traits et d'ensembles de données correspondants à étudier.
Vous apprendrez beaucoup et construirez une base précieuse pour vous plonger dans des problèmes plus complexes et intéressants.
Avez-vous trouvé cet article utile ? Laissez un commentaire et faites le moi savoir.