Extraction de caractéristiques 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 à effectuer l'extraction de caractéristiques à l'aide de la bibliothèque scikit-learn. L'extraction de caractéristiques est le processus de transformation des données brutes en caractéristiques numériques utilisables par les algorithmes d'apprentissage automatique. Elle consiste à extraire des informations pertinentes à partir de différents types de données telles que le texte et les images.

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 Carnet d'étude pour accéder au carnet Jupyter pour pratiquer.

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

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ésoudrons rapidement le problème pour vous.

Chargement de caractéristiques à partir de dictionnaires

Dans cette étape, nous allons apprendre à charger des caractéristiques à partir de dictionnaires à l'aide de la classe DictVectorizer dans scikit-learn.

from sklearn.feature_extraction import DictVectorizer

measurements = [
    {'city': 'Dubai', 'temperature': 33.},
    {'city': 'London', 'temperature': 12.},
    {'city': 'San Francisco', 'temperature': 18.},
]

vec = DictVectorizer()
features = vec.fit_transform(measurements).toarray()
feature_names = vec.get_feature_names_out()

print(features)
print(feature_names)

Hachage des caractéristiques

Dans cette étape, nous allons apprendre à effectuer l'hachage des caractéristiques à l'aide de la classe FeatureHasher dans scikit-learn. L'hachage des caractéristiques est une technique qui projette les caractéristiques sur un vecteur de longueur fixe à l'aide d'une fonction de hachage.

from sklearn.feature_extraction import FeatureHasher

movies = [
    {'category': ['thriller', 'drama'], 'year': 2003},
    {'category': ['animation', 'family'], 'year': 2011},
    {'year': 1974},
]

hasher = FeatureHasher(input_type='string')
hashed_features = hasher.transform(movies).toarray()

print(hashed_features)

Extraction de caractéristiques de texte

Dans cette étape, nous allons apprendre à effectuer l'extraction de caractéristiques de texte à l'aide des classes CountVectorizer et TfidfVectorizer dans scikit-learn. Ces classes peuvent être utilisées pour convertir les données textuelles en caractéristiques numériques.

from sklearn.feature_extraction.text import CountVectorizer

corpus = [
    'This is the first document.',
    'This is the second second document.',
    'And the third one.',
    'Is this the first document?',
]

vectorizer = CountVectorizer()
features = vectorizer.fit_transform(corpus).toarray()
feature_names = vectorizer.get_feature_names_out()

print(features)
print(feature_names)

Personnalisation des classes de vectorisation

Dans cette étape, nous allons apprendre à personnaliser le comportement des classes de vectorisation en leur passant des fonctions appelables.

def my_tokenizer(s):
    return s.split()

vectorizer = CountVectorizer(tokenizer=my_tokenizer)
features = vectorizer.fit_transform(corpus).toarray()

print(features)

Sommaire

Dans ce laboratoire, nous avons appris à effectuer l'extraction de caractéristiques à l'aide de la bibliothèque scikit-learn. Nous avons exploré diverses techniques telles que le chargement de caractéristiques à partir de dictionnaires, l'hachage des caractéristiques et l'extraction de caractéristiques de texte. Nous avons également appris à personnaliser le comportement des classes de vectorisation pour répondre à nos besoins spécifiques. L'extraction de caractéristiques est une étape importante en apprentissage automatique car elle aide à transformer les données brutes en un format utilisable par les algorithmes pour effectuer des prédictions ou classifier les données.