Ejercicio de programación con ScikitLearn: Clasificación de Texto con Scikit Learn

Código
Práctica
0h 30m

Desarrolla un clasificador de texto Naive Bayes manejando datos desbalanceados con Scikit-Learn en este reto avanzado de NLP.

En este reto, tendrás que construir un clasificador Naive Bayes multinomial para identificar categorías de texto a partir de un conjunto de datos desbalanceado. Identificar correctamente las clases con menor frecuencia es crucial para mejorar el rendimiento del modelo, por lo que te proporcionamos un dataset que podrás utilizar para aplicar técnicas de balanceo de clases mediante Scikit-Learn.

Utilizaremos el dataset de noticias 20 Newsgroups de Scikit-Learn, particularmente las categorías 'sci.space' y 'rec.sport.baseball'. Este dataset ya está desbalanceado y es ideal para el reto.

Carga del dataset:

  • Utiliza la función fetch_20newsgroups de Scikit-Learn para cargar las categorías mencionadas.

Division y vectorización:

  • Divide el dataset en conjuntos de entrenamiento y prueba asegurando la proporción adecuada de las clases.
  • Vectoriza los documentos de texto usando el vectorizador TF-IDF.

Preprocesamiento de datos desbalanceados:

  • Maneja el desbalanceo de clases ajustando los pesos de las clases o mediante técnicas de sobremuestreo como SMOTE o RandomOverSampler de imblearn.

Creación yentrenamiento del modelo:

  • Implementa un clasificador Naive Bayes Multinomial sobre los datos procesados.

Predicción y evaluación del modelo:

  • Realiza predicciones sobre el conjunto de prueba y evalúa el modelo usando el F1-score ponderado.

Resultados:

  • Presenta el F1-score obtenido y justifica la eficacia de las técnicas utilizadas para manejar el desbalance de clases.
Empezar ejercicio de programación

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

scikit-learn
Código

Ajuste de hiperparámetros

scikit-learn
Código

Pipelines y Validación Cruzada

scikit-learn
Código

Preprocesamiento de datos desbalanceados

scikit-learn
Código

Pipelines con ColumnTransformer

scikit-learn
Código

Validación y evaluación de modelos

scikit-learn
Código

Preprocesamiento de datos de series temporales

scikit-learn
Código

Identificación y tratamiento de valores faltantes

scikit-learn
Código

Ingeniería de características para series temporales

scikit-learn
Código

Introducción a la clasificación

scikit-learn
Código

Transformación y escalado de series temporales

scikit-learn
Código

Extracción de características

scikit-learn
Código

Clasificación KNN KNeighborsClassifier

scikit-learn
Código

Regresión con algoritmos de conjunto

scikit-learn
Código

Regresión lineal

scikit-learn
Código

Reducción de la dimensionalidad con PCA

scikit-learn
Código

Clasificación con algoritmos de conjunto

scikit-learn
Código

Clasificación SVM con SVC

scikit-learn
Código

Escalado de datos

scikit-learn
Código

Clustering jerárquico

scikit-learn
Código

Análisis de sentimiento

scikit-learn
Código

Validación y evaluación de modelos en series temporales

scikit-learn
Código

Regresión KNN KNeighborsRegressor

scikit-learn
Código

Técnicas de validación cruzada

scikit-learn
Código

Introducción al preprocesamiento de datos

scikit-learn
Código

Exportar e importar Pipelines

scikit-learn
Código

Preprocesamiento de textos para NLP

scikit-learn
Código

Clasificación con árboles DecisionTreeClassifier

scikit-learn
Código

Selección de Características

scikit-learn
Código

Introducción a la regresión

scikit-learn
Código

Clasificación con regresión logística en Scikit Learn

scikit-learn
Código

Ingeniería de Características

scikit-learn
Código

Clustering con KMeans

scikit-learn
Código

Introducción al análisis de series temporales

scikit-learn
Código

Codificación de variables categóricas

scikit-learn
Código

Métricas de Regresión

scikit-learn
Código

Aprendizaje automático

scikit-learn
Puzzle

Clustering de densidad con DBSCAN

scikit-learn
Código

Métricas de clasificación

scikit-learn
Código

Técnicas avanzadas de extracción de características

scikit-learn
Código

Creación de pipelines básicos

scikit-learn
Código

Particionamiento de datos

scikit-learn
Código

Normalización de datos

scikit-learn
Código

Regresión con árboles DecisionTreeRegressor

scikit-learn
Código

Introducción e instalación de Scikit Learn

scikit-learn
Código

Preprocesamiento de datos con pipelines

scikit-learn
Código

Representación de texto y extracción de características

scikit-learn
Código

Introducción a pipelines

scikit-learn
Código

Tutorial para resolver este ejercicio de programación

scikit-learn

ScikitLearn

Clasificación de Texto con Scikit Learn

NLP

Otros tutoriales de programación con ScikitLearn

Aprendizaje Automático

scikit-learn

Introducción Y Entorno

Introducción E Instalación

scikit-learn

Introducción Y Entorno

Introducción Al Preprocesamiento De Datos

scikit-learn

Preprocesamiento De Datos

Identificación Y Tratamiento De Valores Faltantes

scikit-learn

Preprocesamiento De Datos

Escalado De Datos

scikit-learn

Preprocesamiento De Datos

Normalización De Datos

scikit-learn

Preprocesamiento De Datos

Codificación De Variables Categóricas

scikit-learn

Preprocesamiento De Datos

Ingeniería De Características

scikit-learn

Preprocesamiento De Datos

Selección De Características

scikit-learn

Preprocesamiento De Datos

Extracción De Características

scikit-learn

Preprocesamiento De Datos

Particionamiento De Datos

scikit-learn

Preprocesamiento De Datos

Preprocesamiento De Datos Desbalanceados

scikit-learn

Preprocesamiento De Datos

Introducción A La Regresión

scikit-learn

Regresión

Regresión Lineal

scikit-learn

Regresión

Regresión Knn Kneighborsregressor

scikit-learn

Regresión

Regresión Svm Con Svr

scikit-learn

Regresión

Regresión Con Árboles Decisiontreeregressor

scikit-learn

Regresión

Regresión Con Algoritmos De Conjunto

scikit-learn

Regresión

Introducción A La Clasificación

scikit-learn

Clasificación

Clasificación Con Regresión Logística

scikit-learn

Clasificación

Clasificación Knn Kneighborsclassifier

scikit-learn

Clasificación

Clasificación Svm Con Svc

scikit-learn

Clasificación

Clasificación Con Árboles Decisiontreeclassifier

scikit-learn

Clasificación

Clasificación Con Algoritmos De Conjunto

scikit-learn

Clasificación

Reducción De La Dimensionalidad Con Pca

scikit-learn

Aprendizaje No Supervisado

Clustering Con Kmeans

scikit-learn

Aprendizaje No Supervisado

Clustering Jerárquico

scikit-learn

Aprendizaje No Supervisado

Clustering De Densidad Con Dbscan

scikit-learn

Aprendizaje No Supervisado

Preprocesamiento De Textos Para Nlp

scikit-learn

Nlp

Representación De Texto Y Extracción De Características

scikit-learn

Nlp

Análisis De Sentimiento

scikit-learn

Nlp

Técnicas Avanzadas De Extracción De Características

scikit-learn

Nlp

Introducción Al Análisis De Series Temporales

scikit-learn

Series Temporales

Preprocesamiento De Datos De Series Temporales

scikit-learn

Series Temporales

Ingeniería De Características Para Series Temporales

scikit-learn

Series Temporales

Transformación Y Escalado De Series Temporales

scikit-learn

Series Temporales

Validación Y Evaluación De Modelos En Series Temporales

scikit-learn

Series Temporales

Validación Y Evaluación De Modelos

scikit-learn

Validación De Modelos

Técnicas De Validación Cruzada

scikit-learn

Validación De Modelos

Métricas De Regresión

scikit-learn

Validación De Modelos

Métricas De Clasificación

scikit-learn

Validación De Modelos

Ajuste De Hiperparámetros

scikit-learn

Validación De Modelos

Introducción A Pipelines

scikit-learn

Pipelines Y Despliegue

Creación De Pipelines Básicos

scikit-learn

Pipelines Y Despliegue

Preprocesamiento De Datos Con Pipelines

scikit-learn

Pipelines Y Despliegue

Pipelines Y Validación Cruzada

scikit-learn

Pipelines Y Despliegue

Pipelines Con Columntransformer

scikit-learn

Pipelines Y Despliegue

Exportar E Importar Pipelines

scikit-learn

Pipelines Y Despliegue