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.
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.