[ad_1]

Logo YData et logo Algorithmia

Note de l’éditeur: Le message d’aujourd’hui est un article invité de Fabiana Clemente, fondatrice et directrice des données chez YData, en collaboration avec Aslı Sabancı, ingénieur en apprentissage machine appliqué chez Algorithmia. Il a été initialement publié sur le blog YData le 6 avril 2021.

Selon le Tendances des entreprises en 2021 dans le domaine de l’apprentissage automatique rapport Selon Algorithmia, 83% de toutes les organisations ont augmenté leurs budgets AI / ML d’une année sur l’autre, et le nombre moyen de data scientists employés a augmenté de 76% au cours de la même période. Cependant, le processus de développement de solutions basées sur l’apprentissage automatique va bien au-delà du développement de modèles – et vous avez besoin de bien plus que le budget et les ressources en personnel appropriés pour réussir.

Pour que les modèles ML fournissent de bons résultats et s’améliorent au fil du temps, ils doivent être formés avec des données de haute qualité. Non seulement cela, mais ils doivent également être construits et ajustés de manière continue pour maintenir la livraison d’informations précise et pertinente, et garantir des performances continues en production. Et bien sûr, vous n’obtiendrez aucune valeur de ML à moins que vos modèles ne soient réellement mis en production.

De nombreuses organisations ont du mal à tirer pleinement parti de leurs investissements en ML pour ces raisons. Le même rapport d’Algorithmia a révélé un certain nombre de défis auxquels les organisations sont confrontées tout au long du cycle de vie du ML, en particulier avec la gouvernance du ML et l’intégration avec les technologies de ML. En fait, le rapport a révélé que le temps requis pour déployer un modèle a en fait augmenté, en grande partie en raison de problèmes opérationnels et d’outillage tels que ceux-ci.

C’est pourquoi nous sommes ravis de partager une nouvelle intégration entre YData et Algorithmia. YData est la première plateforme de développement de données pour une meilleure qualité des données. Algorithmia est l’entreprise opérations d’apprentissage automatique (MLOps) plate-forme. Il gère toutes les étapes du cycle de vie du ML de production au sein des processus opérationnels existants, afin que vous puissiez mettre les modèles en production rapidement, en toute sécurité et à moindre coût, libérant ainsi la valeur qu’ils contiennent pour votre entreprise.

Cet article de blog expliquera comment vous pouvez combiner ces deux puissantes plates-formes d’apprentissage automatique pour non seulement améliorer la qualité de vos données que vous utilisez pour entraîner vos modèles ML, mais aussi pour leur permettre de fournir des informations utiles dans un environnement de production.

Comment YData et Algorithmia fonctionnent ensemble

Comme mentionné précédement, la mauvaise qualité des données est un défi majeur empêchant les organisations d’extraire toute la valeur contenue dans leur ML. Il peut sembler simple de résoudre des problèmes de données tels que des données manquantes, des ensembles de données déséquilibrés et l’absence d’étiquettes, mais ceux qui travaillent dans la science des données savent que les bonnes données sont une espèce en danger dans les environnements d’entreprise. De nombreux facteurs peuvent conduire à des modèles de formation avec des données médiocres, de la rareté des données au manque d’expertise technique des équipes de science des données.

Et s’il est très important d’améliorer la qualité de vos ensembles de données de formation pour garantir de meilleurs résultats et une généralisation à partir des modèles ML, il est tout aussi important de garantir un déploiement facile du modèle. La combinaison de la plate-forme YData et d’Algorithmia peut non seulement augmenter la productivité des équipes de science des données et améliorer la valeur fournie par les modèles ML, mais également soulager la douleur et les goulots d’étranglement pour déployer les solutions dans des environnements de production.

YData permet une intégration transparente avec Algorithmia, permettant aux organisations d’accélérer leur chemin vers la production de modèles ML construits avec des données de haute qualité.

Améliorer la qualité des données avec YData

Les ensembles de données déséquilibrés sont une réalité dans l’industrie, où la distribution des classes représentées est souvent biaisée ou biaisée. Les problèmes de classification des déséquilibres ne sont pas toujours simples à résoudre. Cependant, une solution consiste à équilibrer les classes pour obtenir une meilleure qualité des données grâce à l’équilibrage des ensembles de données. par augmentation des classes les moins représentées.

Dans cette démonstration, nous allons décrire le processus de bout en bout de développement d’un modèle de classification pour des ensembles de données hautement déséquilibrés à l’aide de Génération de données synthétiques open-source de YData, augmentant les événements frauduleux dans Ensemble de données sur la fraude par carte de crédit Kaggle, et servir le modèle entraîné sur Algorithmia.

Aperçu de l'ensemble de données de la carte de crédit

Image: aperçu du jeu de données de la carte de crédit.

Tracé des vecteurs propres des jeux de données originaux V2 et V4

Image: Tracé des vecteurs propres des jeux de données originaux V2 et V4.

Cet ensemble de données est fortement biaisé en faveur des transactions «normales» – ayant une très faible proportion de transactions «frauduleuses» réelles sur lesquelles s’entraîner. Cela nuit gravement aux performances du modèle, car il n’obtient que des échantillons majoritaires de la classe «Normal» lors de la phase d’entraînement.

L'ensemble de données est fortement déséquilibré avec un ratio de 1/580 d'événements normaux sur des événements frauduleux

Image: L’ensemble de données est fortement déséquilibré avec un rapport de 1/580 normal aux événements frauduleux.

Le modèle de classificateur XGBoost est utilisé pour s’entraîner sur les données. XGBoost est une bibliothèque populaire parmi les praticiens de l’apprentissage automatique, connue pour ses performances élevées et sa mise en œuvre efficace en termes de mémoire d’arbres de décision à gradient boosté, avec une amélioration incrémentielle à chaque cycle.

Résultats de base à l'aide d'un algorithme basé sur une arborescence sur l'ensemble de données déséquilibré

Image: Résultats de base à l’aide d’un algorithme basé sur une arborescence sur l’ensemble de données déséquilibré.

Le SDK python de YData vous permet de générer des échantillons de données synthétiques qui héritent des caractéristiques similaires aux données d’origine. Ici, nous générons 400 nouveaux échantillons de transactions «Fraude» pour équilibrer l’ensemble de données, car le nombre de transactions «Fraude» en pourcentage du total des transactions est trop faible pour obtenir un bon ensemble de formation. Ces échantillons de données synthétiques sont ensuite intégrés dans les données d’apprentissage d’origine.

Les fraudes synthétiques générées par rapport aux fraudes originales

Image: Les fraudes synthétiques générées par rapport aux fraudes originales.

Le traçage des échantillons de fraude synthétiques montre que la nature des données générées est similaire à celle des échantillons de fraude d’origine dans l’ensemble d’apprentissage.

Les données synthétiques améliorent considérablement les mesures de précision-précision du modèle en équilibrant le biais des données dans l’ensemble de données d’origine en générant des échantillons de données supplémentaires de type «frauduleux», sans changer la nature inhérente des échantillons de données ou donner des données biaisées et irréalistes points.

Notez les métriques de modèle améliorées après l’ajout des données synthétiques à l’ensemble d’apprentissage.

Amélioration de la précision de 7% dans la détection des fraudes sur les jeux de données de test

Image: Amélioration de la précision de 7% dans la détection des fraudes des jeux de données de test.

Servir le modèle sur Algorithmia

Notre prochaine étape est de servir notre modèle formé sur l’algorithmie. Nous commençons par initialiser le client Algorithmia et télécharger notre fichier de modèle sérialisé dans la collection de données hébergée d’Algorithmia.

Initialisez le client Algorithmia et téléchargez les fichiers de modèle sérialisés

Image: Initialisez le client Algorithmia et téléchargez les fichiers de modèle sérialisés.

Après avoir téléchargé le modèle, nous continuons en créant un algorithme Python qui sera construit sur l’environnement d’exécution Python 3.7 d’Algorithmia.

Créer l'algorithme pour servir le modèle

Image: Créez l’algorithme pour servir le modèle.

Après avoir créé l’algorithme, nous déposons nos dépendances d’algorithme sur un fichier requirements.txt et notre modèle servant du code sur un fichier .py. Pour pousser ces fichiers vers le référentiel git de notre algorithme, nous pouvons utiliser les outils git de YData Lab ou l’IDE Web d’Algorithmia.

Une fois que les fichiers d’algorithme sont poussés vers le référentiel, nous construisons notre algorithme et préparons notre point de terminaison de service. Nous pouvons le tester avec une entrée de test et nous assurer que nos prédictions de modèle sont comme prévu.

Testez l'algorithme en passant l'échantillon de données

Image: Testez l’algorithme en passant l’échantillon de données.

Démarrez avec l’intégration YData-Algorithmia

De nombreux défis empêchent les organisations de libérer la pleine valeur de leurs investissements ML. Mieux votre infrastructure d’IA couvre le cycle de vie de la science des données, plus il restera du temps à vos équipes de science des données pour se concentrer sur l’injection d’une valeur commerciale précieuse dans les modèles. Lorsqu’ils sont utilisés ensemble, YData et Algorithmia peuvent vous aider à créer des modèles basés sur des données de haute qualité et à les déployer rapidement en production, ce qui permet à vos data scientists de se concentrer sur l’innovation et d’obtenir de meilleurs résultats pour votre entreprise.

Pour une procédure pas à pas de cette intégration, vous pouvez consulter le dépôt et implémentez vous-même des flux de travail similaires.

Pour plus d’informations sur YData, consultez notre dernier article sur les données synthétiques pour les données séquentielles, consultez notre Open source packages, et rejoignez notre communauté slack.

Pour en savoir plus sur Algorithmia, rendez-vous sur algorithmia.com pour lire les dernières articles de blog, obtenir un présentation du produit, ou regarder une démo.