Ejercicio de programación con ScikitLearn: Representación de texto y extracción de características
0h 30m
Aprende a aplicar técnicas de extracción de características textuales utilizando Scikit-Learncon TfidfVectorizer para NLP. Este reto implica el uso de CountVectorizer, TF-IDF y clasificadores básicos.
En este reto, se espera que los estudiantes implementen una pipeline en la que puedan transformar una colección de documentos de texto en una representación numérica utilizando técnicas del modelo de bolsa de palabras, y que aplique posteriormente una clasificación básica usando un clasificador de Naive Bayes. El desafío será utilizar tanto CountVectorizer
como TfidfVectorizer
para observar las diferencias y su impacto en la clasificación de los documentos de ejemplo.
Carga de datos: Carga un conjunto de documentos de ejemplo o utiliza datos proporcionados internamente en el código en forma de lista de cadenas. Puedes usar estos datos, la lista documents como si fuera una entrada “X” y la lista categories como si fuera una salida “y”:
documents = [
"cats and dogs",
"lions and tigers",
"apples and bananas",
"oranges and lemons",
"pet food for cats and dogs",
"the zoo has lions and tigers",
"fruit salad with apples and bananas",
"freshly squeezed oranges and lemons"
]
categories = ["pets", "animals", "fruits", "fruits", "pets", "animals", "fruits", "fruits"]
Aplicar CountVectorizer: Implementa el uso del CountVectorizer
para transformar los documentos en una matriz de conteo de palabras.
- Imprime el vocabulario y la matriz de conteos resultante.
Aplicar TF-IDF Vectorizer: Ahora, transforma la misma colección de documentos utilizando TfidfVectorizer
para obtener la representación TF-IDF.
- Imprime el vocabulario y la matriz TF-IDF resultante.
Entrenamiento del clasificador: Implementa un Pipeline
que integre el TfidfVectorizer
seguido por un clasificador MultinomialNB
.
- Utiliza una colección de documentos y categorías predefinidas para entrenar el modelo.
Evaluación del modelo: Evalúa el rendimiento del modelo clasificador entrenado realizando predicciones sobre un nuevo conjunto de documentos y compara los resultados con las etiquetas verdaderas.
Todos los ejercicios de programación de ScikitLearn
Evalúa tus conocimientos con ejercicios de programación en ScikitLearn de tipo Test, Puzzle, Código y Proyecto con VSCode.
Regresión SVM con SVR
Ajuste de hiperparámetros
Pipelines y Validación Cruzada
Preprocesamiento de datos desbalanceados
Pipelines con ColumnTransformer
Validación y evaluación de modelos
Preprocesamiento de datos de series temporales
Identificación y tratamiento de valores faltantes
Ingeniería de características para series temporales
Introducción a la clasificación
Transformación y escalado de series temporales
Extracción de características
Clasificación KNN KNeighborsClassifier
Regresión con algoritmos de conjunto
Regresión lineal
Reducción de la dimensionalidad con PCA
Clasificación con algoritmos de conjunto
Clasificación SVM con SVC
Escalado de datos
Clustering jerárquico
Análisis de sentimiento
Validación y evaluación de modelos en series temporales
Regresión KNN KNeighborsRegressor
Técnicas de validación cruzada
Introducción al preprocesamiento de datos
Exportar e importar Pipelines
Preprocesamiento de textos para NLP
Clasificación con árboles DecisionTreeClassifier
Selección de Características
Introducción a la regresión
Clasificación con regresión logística en Scikit Learn
Ingeniería de Características
Clustering con KMeans
Introducción al análisis de series temporales
Codificación de variables categóricas
Clasificación de Texto con Scikit Learn
Métricas de Regresión
Aprendizaje automático
Clustering de densidad con DBSCAN
Métricas de clasificación
Técnicas avanzadas de extracción de características
Creación de pipelines básicos
Particionamiento de datos
Normalización de datos
Regresión con árboles DecisionTreeRegressor
Introducción e instalación de Scikit Learn
Preprocesamiento de datos con pipelines
Introducción a pipelines
Tutorial para resolver este ejercicio de programación
ScikitLearn
Representación de texto y extracción de características
NLP