FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

4 façons uniques d'obtenir des ensembles de données pour votre projet d'apprentissage automatique

L'insuffisance de données est souvent l'un des principaux revers pour la plupart des projets de science des données. Cependant, savoir comment collecter des données pour tout projet dans lequel vous souhaitez vous lancer est une compétence importante que vous devez acquérir en tant que data scientist.

Les scientifiques des données et les ingénieurs en apprentissage automatique utilisent désormais des techniques modernes de collecte de données pour acquérir plus de données pour les algorithmes de formation. Si vous envisagez de vous lancer dans votre premier projet de science des données ou d'apprentissage automatique, vous devez également pouvoir obtenir des données.

Comment pouvez-vous rendre le processus facile pour vous-même ? Examinons quelques techniques modernes que vous pouvez utiliser pour collecter des données.

Pourquoi avez-vous besoin de plus de données pour votre projet de science des données

Les algorithmes d'apprentissage automatique dépendent des données pour devenir plus exacts, précis et prédictifs. Ces algorithmes sont formés à l'aide d'ensembles de données. Le processus de formation est un peu comme apprendre à un tout-petit le nom d'un objet pour la première fois, puis lui permettre de l'identifier seul la prochaine fois qu'il le verra.

L'être humain n'a besoin que de quelques exemples pour reconnaître un nouvel objet. Ce n'est pas le cas pour une machine, car elle a besoin de centaines ou de milliers d'exemples similaires pour se familiariser avec un objet.

Ces exemples ou objets de formation doivent se présenter sous la forme de données. Un algorithme d'apprentissage automatique dédié parcourt ensuite cet ensemble de données appelé ensemble d'apprentissage et en apprend davantage pour devenir plus précis.

Cela signifie que si vous ne fournissez pas suffisamment de données pour former votre algorithme, vous risquez de ne pas obtenir le bon résultat à la fin de votre projet car la machine ne dispose pas de suffisamment de données pour apprendre.

Il est donc nécessaire d'obtenir des données adéquates pour améliorer la précision de votre résultat. Voyons ci-dessous quelques stratégies modernes que vous pouvez utiliser pour y parvenir.

1. Récupération de données directement depuis une page Web

4 façons uniques d obtenir des ensembles de données pour votre projet d apprentissage automatique

Le scraping Web est un moyen automatisé d'obtenir des données à partir du Web. Dans sa forme la plus élémentaire, le scraping Web peut impliquer de copier et coller les éléments d'un site Web dans un fichier local.

Cependant, le grattage Web implique également l'écriture de scripts spéciaux ou l'utilisation d'outils dédiés pour extraire directement les données d'une page Web. Cela pourrait également impliquer une collecte de données plus approfondie à l'aide d'interfaces de programmation d'applications (API) telles que Serpstack.

Bien que certaines personnes pensent que le scraping Web peut entraîner une perte de propriété intellectuelle, cela ne peut se produire que lorsque les gens le font de manière malveillante. Le scraping Web est légal et aide les entreprises à prendre de meilleures décisions en recueillant des informations publiques sur leurs clients et leurs concurrents.

Par exemple, vous pouvez écrire un script pour collecter des données auprès de magasins en ligne afin de comparer les prix et la disponibilité. Bien que cela puisse être un peu plus technique, vous pouvez également collecter des médias bruts tels que des fichiers audio et des images sur le Web.

Jetez un œil à l'exemple de code ci-dessous pour avoir un aperçu du web scraping avec beautifulsoup4 de Python Bibliothèque d'analyseur HTML.

à partir de bs4 import BeautifulSoup 
à partir de urllib.request importer urlopen
url ="Entrez ici l'URL complète de la page Web cible"
PageCible =urlopen(url)
htmlReader =targetPage.read().decode("utf-8")
webData =BeautifulSoup(htmlReader, "html.parser")
imprimer(webData.get_text())

Avant d'exécuter l'exemple de code, vous devez installer la bibliothèque. Créez un environnement virtuel à partir de votre ligne de commande et installez la bibliothèque en exécutant pip install beautifulsoup4 .

2. Via les formulaires Web

4 façons uniques d obtenir des ensembles de données pour votre projet d apprentissage automatique

Vous pouvez également tirer parti des formulaires en ligne pour la collecte de données. Ceci est particulièrement utile lorsque vous avez un groupe cible de personnes dont vous souhaitez collecter les données.

L'un des inconvénients de l'envoi de formulaires Web est que vous ne collectez peut-être pas autant de données que vous le souhaitez. C'est assez pratique pour les petits projets de science des données ou les tutoriels, mais vous pourriez rencontrer des contraintes en essayant d'atteindre un grand nombre de personnes anonymes.

Bien qu'il existe des services de collecte de données en ligne payants, ils ne sont pas recommandés pour les particuliers, car ils sont généralement trop chers, sauf si cela ne vous dérange pas de dépenser de l'argent pour le projet.

Il existe différents formulaires Web pour collecter des données auprès des personnes. L'un d'eux est Google Forms, auquel vous pouvez accéder en vous rendant sur forms.google.com. Vous pouvez utiliser Google Forms pour collecter des informations de contact, des données démographiques et d'autres informations personnelles.

Une fois que vous avez créé un formulaire, il vous suffit d'envoyer le lien à votre public cible par courrier, SMS ou tout autre moyen disponible.

Cependant, Google Forms n'est qu'un exemple de formulaires Web populaires. Il existe de nombreuses alternatives qui font également d'excellents travaux de collecte de données.

3. Via les réseaux sociaux

4 façons uniques d obtenir des ensembles de données pour votre projet d apprentissage automatique

Vous pouvez également collecter des données via des médias sociaux tels que Facebook, LinkedIn, Instagram et Twitter. Obtenir des données à partir des médias sociaux est un peu plus technique que toute autre méthode. Il est entièrement automatisé et implique l'utilisation de différents outils API.

Les médias sociaux peuvent être difficiles à extraire des données car ils sont relativement peu organisés et il y en a une grande quantité. Correctement organisé, ce type d'ensemble de données peut être utile dans les projets de science des données impliquant l'analyse des sentiments en ligne, l'analyse des tendances du marché et la stratégie de marque en ligne.

Par exemple, Twitter est un exemple de source de données de médias sociaux où vous pouvez collecter un grand volume d'ensembles de données avec son tweepy Package API Python, que vous pouvez installer avec le pip install tweepy commande.

Pour un exemple de base, le bloc de code pour extraire les Tweets de la page d'accueil de Twitter ressemble à ceci :

importer tweepy 
importer re
myAuth =tweepy.OAuthHandler (collez la clé consumer_key ici, collez la clé consumer_secret ici)
auth.set_access_token (collez access_token ici, collez access_token_secret ici)
authentifier =tweepy.API(myAuth)
target_tweet =api.home_timeline()
pour les cibles dans target_tweet :
print(targets.text)

Vous pouvez visiter le site Web docs.tweepy.org pour accéder au tweepy documentation pour plus de détails sur son utilisation. Pour utiliser l'API de Twitter, vous devez demander un compte de développeur en vous rendant sur le site Web developer.twitter.com.

Facebook est une autre puissante plate-forme de médias sociaux pour la collecte de données. Il utilise un point de terminaison d'API spécial appelé l'API Facebook Graph. Cette API permet aux développeurs de collecter des données sur les comportements d'utilisateurs spécifiques sur la plateforme Facebook. Vous pouvez accéder à la documentation de l'API Facebook Graph sur developers.facebook.com pour en savoir plus.

Une explication détaillée de la collecte de données sur les réseaux sociaux avec l'API dépasse le cadre de cet article. Si vous souhaitez en savoir plus, vous pouvez consulter la documentation de chaque plate-forme pour en savoir plus à leur sujet.

En plus d'écrire des scripts pour se connecter à un point de terminaison API, des données de médias sociaux collectant des outils tiers comme Scraping Expert et bien d'autres sont également disponibles. Cependant, la plupart de ces outils Web ont un prix.

4. Collecte d'ensembles de données préexistants à partir de sources officielles

Vous pouvez également collecter des ensembles de données préexistants à partir de sources faisant autorité. Cette méthode implique de visiter des banques de données officielles et d'en télécharger des ensembles de données vérifiés. Contrairement au web scraping et à d'autres options, cette option est plus rapide et nécessite peu ou pas de connaissances techniques.

Les ensembles de données sur ces types de sources sont généralement disponibles aux formats CSV, JSON, HTML ou Excel. Quelques exemples de sources de données faisant autorité sont la Banque mondiale, UNdata et plusieurs autres.

Certaines sources de données peuvent rendre les données actuelles privées pour empêcher le public d'y accéder. Cependant, leurs archives sont fréquemment disponibles en téléchargement.

Plus de sources officielles d'ensembles de données pour votre projet d'apprentissage automatique

Cette liste devrait vous donner un bon point de départ pour obtenir différents types de données à utiliser dans vos projets.

  • Portail des données ouvertes de l'UE
  • Ensembles de données Kaggle
  • Recherche d'ensembles de données Google
  • Centre de données
  • Registre des données ouvertes sur AWS
  • Agence gouvernementale européenne—Données et cartes
  • Microsoft Research Open Data
  • Super référentiel d'ensembles de données publics sur GitHub
  • Data.Gov :la base des données ouvertes du gouvernement américain

Il existe de nombreuses autres sources que cela, et une recherche minutieuse vous récompensera avec des données parfaites pour vos propres projets de science des données.

Combinez ces techniques modernes pour de meilleurs résultats

La collecte de données peut être fastidieuse lorsque les outils disponibles pour la tâche sont limités ou difficiles à comprendre. Alors que les méthodes plus anciennes et conventionnelles fonctionnent toujours bien et sont inévitables dans certains cas, les méthodes modernes sont plus rapides et plus fiables.

Cependant, plutôt que de s'appuyer sur une seule méthode, une combinaison de ces méthodes modernes de collecte de vos données a le potentiel de donner de meilleurs résultats.


[]