Andersoncrs commited on
Commit
c8bb941
·
verified ·
1 Parent(s): 9f37983

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +7 -7
README.md CHANGED
@@ -10,6 +10,8 @@ tags:
10
  - grid-search
11
  model_format: skops
12
  dataset_name: ucirvine/sms_spam
 
 
13
  ---
14
  # **Modelo de Clasificación de Spam usando TF-IDF y Complement Naive Bayes**
15
 
@@ -17,7 +19,7 @@ Este modelo ha sido entrenado para clasificar mensajes de texto, determinando si
17
 
18
  # **Conjunto de Datos**
19
 
20
- El conjunto de datos utilizado para llevar a cabo el entrenamiento del modelo ha sido ucirvine/sms\_spam, el cual contiene mensajes SMS reales en el idioma inglés.
21
 
22
  # **Arquitectura del Modelo**
23
 
@@ -26,15 +28,14 @@ El modelo está compuesto por dos pasos principales:
26
  * **TF-IDF (Term Frequency-Inverse Document Frequency):** Primero se tokeniza cada palabra de cada mensaje SMS para, posteriormente, vectorizarla de acuerdo con el método TF-IDF. Este método consiste en asignar una puntuación a las palabras presentes en un texto con base en su frecuencia (número de veces que aparecen) dentro de un documento individual y dentro del corpus completo.
27
  * La Frecuencia del Término (TF) está dada por la siguiente fórmula:
28
  $$TF(t, d) = \frac{f(t, d)}{\sum_{t' \in d} f(t', d)}$$
29
- Dado que en el caso de este modelo hemos utilizado la instrucción tfidf\_\_sublinear\_tf=True, se atenúa la influencia de la aparición desmedida de determinados términos mediante el siguiente ajuste logarítmico:
30
  $$TF(t, d) = 1 + \log(f(t, d)) \quad \text{si } f(t, d) > 0$$
31
  * Respecto a la Frecuencia Inversa del Documento (IDF), se aplica la fórmula estándar implementada en Scikit-Learn:
32
  $$IDF_{\text{Scikit-Learn}}(t) = \log\left(\frac{1 + N}{1 + df(t)}\right) + 1$$
33
 
34
- Finalmente, obtenemos la puntuación definitiva multiplicando ambos términos:
35
  $$TF\text{-}IDF(t, d) = TF(t, d) \times IDF(t)$$
36
-
37
- Adicionalmente, el método TF-IDF hace uso de `word\_tokenize` de la librería **NLTK** para tokenizar los mensajes SMS mediante reglas estándar de la lingüística, separando contracciones del inglés de manera inteligente y aislando los signos de puntuación de las palabras, siendo este uno de los enfoques más recomendados para nuestro caso de estudio.
38
 
39
  * **Complement Naive Bayes (CNB):** Se ha seleccionado esta versión de Naive Bayes ya que es una extensión de *Multinomial Naive Bayes* diseñada específicamente para corregir los sesgos generados por conjuntos de datos con clases desbalanceadas. Consiste en hallar la probabilidad de que aparezca un término en el *complemento* de la clase objetivo. Resulta ideal para nuestro escenario, ya que la gran mayoría de los mensajes del conjunto de datos son válidos (*ham*), y tan solo una pequeña minoría ha sido etiquetada como *SPAM*.
40
 
@@ -101,5 +102,4 @@ Si tienes alguna pregunta, sugerencia o deseas conectar conmigo, no dudes en esc
101
 
102
  * 💼 **LinkedIn:** [Anderson Rodríguez](https://www.linkedin.com/in/andersoncrs)
103
  * 🐙 **GitHub:** [Andersoncrs](https://github.com/Andersoncrs)
104
- * 📧 **Correo Electrónico:** andersoncamilo.rodriguez.s@gmail.com
105
-
 
10
  - grid-search
11
  model_format: skops
12
  dataset_name: ucirvine/sms_spam
13
+ datasets:
14
+ - ucirvine/sms_spam
15
  ---
16
  # **Modelo de Clasificación de Spam usando TF-IDF y Complement Naive Bayes**
17
 
 
19
 
20
  # **Conjunto de Datos**
21
 
22
+ El conjunto de datos utilizado para llevar a cabo el entrenamiento del modelo ha sido `ucirvine/sms_spam`, el cual contiene mensajes SMS reales en el idioma inglés.
23
 
24
  # **Arquitectura del Modelo**
25
 
 
28
  * **TF-IDF (Term Frequency-Inverse Document Frequency):** Primero se tokeniza cada palabra de cada mensaje SMS para, posteriormente, vectorizarla de acuerdo con el método TF-IDF. Este método consiste en asignar una puntuación a las palabras presentes en un texto con base en su frecuencia (número de veces que aparecen) dentro de un documento individual y dentro del corpus completo.
29
  * La Frecuencia del Término (TF) está dada por la siguiente fórmula:
30
  $$TF(t, d) = \frac{f(t, d)}{\sum_{t' \in d} f(t', d)}$$
31
+ Dado que en el caso de este modelo hemos utilizado la instrucción `tfidf_sublinear_tf=True`, se atenúa la influencia de la aparición desmedida de determinados términos mediante el siguiente ajuste logarítmico:
32
  $$TF(t, d) = 1 + \log(f(t, d)) \quad \text{si } f(t, d) > 0$$
33
  * Respecto a la Frecuencia Inversa del Documento (IDF), se aplica la fórmula estándar implementada en Scikit-Learn:
34
  $$IDF_{\text{Scikit-Learn}}(t) = \log\left(\frac{1 + N}{1 + df(t)}\right) + 1$$
35
 
36
+ Finalmente, obtenemos la puntuación definitiva multiplicando ambos términos:
37
  $$TF\text{-}IDF(t, d) = TF(t, d) \times IDF(t)$$
38
+ Adicionalmente, el método TF-IDF hace uso de `word\_tokenize` de la librería **NLTK** para tokenizar los mensajes SMS mediante reglas estándar de la lingüística, separando contracciones del inglés de manera inteligente y aislando los signos de puntuación de las palabras, siendo este uno de los enfoques más recomendados para nuestro caso de estudio.
 
39
 
40
  * **Complement Naive Bayes (CNB):** Se ha seleccionado esta versión de Naive Bayes ya que es una extensión de *Multinomial Naive Bayes* diseñada específicamente para corregir los sesgos generados por conjuntos de datos con clases desbalanceadas. Consiste en hallar la probabilidad de que aparezca un término en el *complemento* de la clase objetivo. Resulta ideal para nuestro escenario, ya que la gran mayoría de los mensajes del conjunto de datos son válidos (*ham*), y tan solo una pequeña minoría ha sido etiquetada como *SPAM*.
41
 
 
102
 
103
  * 💼 **LinkedIn:** [Anderson Rodríguez](https://www.linkedin.com/in/andersoncrs)
104
  * 🐙 **GitHub:** [Andersoncrs](https://github.com/Andersoncrs)
105
+ * 📧 **Correo Electrónico:** andersoncamilo.rodriguez.s@gmail.com