Maison >Périphériques technologiques >IA >Tutoriel Deepchecks: Test d'apprentissage automatique automatisant

Tutoriel Deepchecks: Test d'apprentissage automatique automatisant

Lisa Kudrow
Lisa Kudroworiginal
2025-03-05 09:03:10556parcourir

Ce didacticiel explore les profondeurs des tests de validation des données et les tests de modèle d'apprentissage automatique, et exploite les actions GitHub pour les tests automatisés et la création d'artefacts. Nous couvrirons les principes de test d'apprentissage automatique, les fonctionnalités de profondeur et un flux de travail automatisé complet.

DeepChecks Tutorial: Automating Machine Learning Testing

Image par auteur

Comprendre les tests d'apprentissage automatique

L'apprentissage automatique efficace nécessite des tests rigoureux au-delà des métriques de précision simple. Nous devons évaluer l'équité, la robustesse et les considérations éthiques, notamment la détection des biais, les faux positifs / négatifs, les mesures de performance, le débit et l'alignement avec l'éthique de l'IA. Cela implique des techniques telles que la validation des données, la validation croisée, le calcul des scores F1, l'analyse de la matrice de confusion et la détection de dérive (données et prédiction). Le fractionnement des données (train / test / validation) est crucial pour une évaluation fiable du modèle. L'automatisation de ce processus est la clé pour construire des systèmes d'IA fiables.

Pour les débutants, les principes fondamentaux de l'apprentissage automatique avec Python Skill Track offrent une base solide.

Deepchecks, une bibliothèque Python open source, simplifie des tests d'apprentissage automatique complets. Il propose des vérifications intégrées pour les performances du modèle, l'intégrité des données et la distribution, prenant en charge la validation continue pour un déploiement de modèle fiable.

Début avec Deepchecks

Installez les profondeurs en utilisant PIP:

pip install deepchecks --upgrade -q

Chargement et préparation des données (ensemble de données de prêt)

Nous utiliserons l'ensemble de données de données de prêt à partir de Datacamp.

import pandas as pd
loan_data = pd.read_csv("loan_data.csv")
loan_data.head()

DeepChecks Tutorial: Automating Machine Learning Testing

Créer un ensemble de données Deepchecks:

from sklearn.model_selection import train_test_split
from deepchecks.tabular import Dataset

label_col = 'not.fully.paid'
deep_loan_data = Dataset(loan_data, label=label_col, cat_features=["purpose"])

Test d'intégrité des données

La suite d'intégrité des données de Deepchecks effectue des vérifications automatisées.

from deepchecks.tabular.suites import data_integrity
integ_suite = data_integrity()
suite_result = integ_suite.run(deep_loan_data)
suite_result.show_in_iframe() # Use show_in_iframe for DataLab compatibility

Cela génère un rapport couvrant: corrélation d'étiquette de fonctionnalité, corrélation de fonction de fonctionnalité, vérification de valeur unique, détection spéciale des caractères, analyse de valeur nul, cohérence du type de données, décontrats de cordes, détection en double, validation de la longueur des chaînes, étiquettes contradictoires et détection des valeurs aberrantes.

DeepChecks Tutorial: Automating Machine Learning Testing

Enregistrer le rapport:

suite_result.save_as_html()

Exécution de test individuel

Pour l'efficacité, exécutez des tests individuels:

from deepchecks.tabular.checks import IsSingleValue, DataDuplicates
result = IsSingleValue().run(deep_loan_data)
print(result.value) # Unique value counts per column

result = DataDuplicates().run(deep_loan_data)
print(result.value) # Duplicate sample count

Évaluation du modèle avec Deepchecks

Nous allons entraîner un modèle d'ensemble (régression logistique, forêt aléatoire, bayes naïve gaussien) et l'évaluer à l'aide de profondeurs.

pip install deepchecks --upgrade -q

Le rapport d'évaluation du modèle comprend: les courbes ROC, les performances faibles du segment, la détection des fonctionnalités inutilisées, la comparaison des performances des tests de train, l'analyse de la dérive de prédiction, les comparaisons simples du modèle, le temps d'inférence du modèle, les matrices de confusion, et plus encore.

DeepChecks Tutorial: Automating Machine Learning Testing

Sortie JSON:

import pandas as pd
loan_data = pd.read_csv("loan_data.csv")
loan_data.head()

Exemple de test individuel (dérive d'étiquette):

from sklearn.model_selection import train_test_split
from deepchecks.tabular import Dataset

label_col = 'not.fully.paid'
deep_loan_data = Dataset(loan_data, label=label_col, cat_features=["purpose"])

Automatisation avec les actions GitHub

Cette section détaille la configuration d'un flux de travail GitHub Actions pour automatiser la validation des données et les tests de modèle. Le processus consiste à créer un référentiel, à ajouter des données et des scripts Python (data_validation.py, train_validation.py) et de configurer un flux de travail GitHub Actions (main.yml) pour exécuter ces scripts et enregistrer les résultats sous forme d'artefacts. Des étapes détaillées et des extraits de code sont fournis dans l'entrée d'origine. Reportez-vous au référentiel kingabzpro/Automating-Machine-Learning-Testing pour un exemple complet. Le flux de travail utilise les actions actions/checkout, actions/setup-python et actions/upload-artifact.

DeepChecks Tutorial: Automating Machine Learning Testing

DeepChecks Tutorial: Automating Machine Learning Testing

Conclusion

Les tests d'apprentissage automatique automatisant à l'aide de Deepchecks et des actions GitHub améliorent considérablement l'efficacité et la fiabilité. La détection précoce des problèmes améliore la précision du modèle et l'équité. Ce tutoriel fournit un guide pratique pour mettre en œuvre ce flux de travail, permettant aux développeurs de créer des systèmes d'IA plus robustes et dignes de confiance. Considérez le spécialiste de l'apprentissage automatique avec une piste de carrière Python pour un développement ultérieur dans ce domaine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn