Extracción de características con Scikit-Learn

Machine LearningMachine LearningBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a realizar la extracción de características utilizando la biblioteca scikit-learn. La extracción de características es el proceso de transformar datos brutos en características numéricas que pueden ser utilizadas por algoritmos de aprendizaje automático. Involucra extraer información relevante de diferentes tipos de datos, como texto e imágenes.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/DataPreprocessingandFeatureEngineeringGroup(["Data Preprocessing and Feature Engineering"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/feature_extraction("Feature Extraction") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/feature_extraction -.-> lab-71129{{"Extracción de características con Scikit-Learn"}} ml/sklearn -.-> lab-71129{{"Extracción de características con Scikit-Learn"}} end

Carga de características a partir de diccionarios

En este paso, aprenderemos a cargar características a partir de diccionarios utilizando la clase DictVectorizer en 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)

Hashing de características

En este paso, aprenderemos a realizar el hashing de características utilizando la clase FeatureHasher en scikit-learn. El hashing de características es una técnica que mapea las características a un vector de longitud fija utilizando una función hash.

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)

Extracción de características de texto

En este paso, aprenderemos a realizar la extracción de características de texto utilizando las clases CountVectorizer y TfidfVectorizer en scikit-learn. Estas clases se pueden utilizar para convertir datos de texto en características numéricas.

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)

Personalización de las clases vectorizadoras

En este paso, aprenderemos a personalizar el comportamiento de las clases vectorizadoras al pasarles funciones llamables.

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

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

print(features)

Resumen

En este laboratorio, aprendimos a realizar la extracción de características utilizando la biblioteca scikit-learn. Exploramos varias técnicas como la carga de características a partir de diccionarios, el hashing de características y la extracción de características de texto. También aprendimos a personalizar el comportamiento de las clases vectorizadoras para adaptarlas a nuestras necesidades específicas. La extracción de características es un paso importante en el aprendizaje automático ya que ayuda a transformar los datos brutos en un formato que puede ser utilizado por los algoritmos para hacer predicciones o clasificar datos.