Classification inductive avec Scikit-Learn

Machine LearningMachine LearningBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à connaître la classification inductive, une méthode qui étend la classification en induisant un classifieur à partir des étiquettes de clusters. Nous utiliserons la bibliothèque scikit-learn en Python pour implémenter un méta-estimateur qui étend la classification.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49165{{"Classification inductive avec Scikit-Learn"}} end

Générer des données d'entraînement

Dans cette étape, nous allons générer quelques données d'entraînement à partir de la classification. Nous utiliserons la fonction make_blobs de scikit-learn pour générer 5000 échantillons avec 3 clusters ayant des écarts-types et des centres différents.

X, y = make_blobs(
    n_samples=5000,
    cluster_std=[1.0, 1.0, 0.5],
    centers=[(-5, -5), (0, 0), (5, 5)],
    random_state=42,
)

Entraîner un algorithme de classification

Dans cette étape, nous allons entraîner un algorithme de classification sur les données d'entraînement générées et obtenir les étiquettes de clusters. Nous utiliserons AgglomerativeClustering de scikit-learn pour entraîner l'algorithme avec 3 clusters.

clusterer = AgglomerativeClustering(n_clusters=3)
cluster_labels = clusterer.fit_predict(X)

Générer de nouveaux échantillons

Dans cette étape, nous allons générer de nouveaux échantillons et les tracer avec l'ensemble de données d'origine. Nous utiliserons à nouveau la fonction make_blobs pour générer 10 nouveaux échantillons.

X_new, y_new = make_blobs(
    n_samples=10, centers=[(-7, -1), (-2, 4), (3, 6)], random_state=42
)

Décclarer le modèle d'apprentissage inductif

Dans cette étape, nous allons déclarer le modèle d'apprentissage inductif qui sera utilisé pour prédire l'appartenance à un cluster pour des instances inconnues. Nous utiliserons RandomForestClassifier de scikit-learn comme classifieur.

classifier = RandomForestClassifier(random_state=42)
inductive_learner = InductiveClusterer(clusterer, classifier).fit(X)

Prédire l'appartenance à un cluster pour des instances inconnues

Dans cette étape, nous allons utiliser le modèle d'apprentissage inductif pour prédire l'appartenance à un cluster pour les nouveaux échantillons générés. Nous utiliserons la fonction predict de la classe InductiveClusterer et tracer les nouveaux échantillons avec leurs clusters probables.

probable_clusters = inductive_learner.predict(X_new)

plt.subplot(133)
plot_scatter(X, cluster_labels)
plot_scatter(X_new, probable_clusters)
plt.title("Classify unknown instances")

Sommaire

Dans ce laboratoire, nous avons appris sur la classification inductive, une méthode qui étend la classification en induisant un classifieur à partir des étiquettes de clusters. Nous avons utilisé la bibliothèque scikit-learn en Python pour implémenter un méta-estimateur qui étend la classification et entraîner un algorithme de classification sur les données d'entraînement générées. Nous avons également généré de nouveaux échantillons et utilisé le modèle d'apprentissage inductif pour prédire l'appartenance à un cluster pour les nouveaux échantillons.