Está en la página 1de 7

Document Information

Analyzed document G6_TRABAJO FINAL PREPROCESAMIENTO DE DATOS 2022.docx


(D141850298)

Submitted 2022-07-08 04:30:00

Submitted by Jesús Eduardo Gamboa Unsihuay

Submitter email jgamboa@lamolina.edu.pe

Similarity 4%

Analysis address jgamboa.unalm@analysis.urkund.com

Sources included in the report

M0.156_20212_Primera PAC_17295069.txt
2
Document M0.156_20212_Primera PAC_17295069.txt (D134404312)

Tarea 2- García Torres, Daniel.pdf


1
Document Tarea 2- García Torres, Daniel.pdf (D70688998)

URL: https://www.researchgate.net/publication/220543125_SMOTE_Synthetic_Minority_Over-
sampling_Technique 1
Fetched: 2019-11-28 06:55:16

Entire Document
UNIVERSIDAD NACIONAL AGRARIA LA MOLINA
FACULTAD DE ECONOMÍA Y PLANIFICACIÓN
MAESTRÍA EN ESTADÍSTICA APLICADA
TRABAJO FINAL DEL CURSO
TÉCNICAS DE PREPROCESAMIENTO DE DATOS
INTEGRANTES
JAIME COYLA MAMANI
JAVIER FIGUEROA PANDURO
ALDO HUAMÁN ARIAS
LIMA – PERÚ
2022
I. INTRODUCCIÓN
El presente trabajo analiza la base de datos “Bank marketing response predict”, obtenido en el repositorio Kaggle en la
siguiente URL: “https://www.kaggle.com/datasets/kukuroo3/bank-marketing-response-predict”
Esta base de datos reúne 12870 observaciones y 17 variables, y comprende información de una campaña de marketing
directo, mediante llamadas telefónicas, de un banco portugués. Esta base de datos tiene variables importantes que
permitirían predecir si un determinado usuario realizará un depósito a plazo fijo, considerando un conjunto de variables
potencialmente explicativas.
En este trabajo se realizará el preprocesamiento de esta base de datos mediante tres acciones: i) Identificación e
imputación de valores perdidos, ii) Reducción de ruído y iii) Balanceo de los datos
II. MARCO TEÓRICO
2.1. Imputación de valores perdidos
Es una forma utilizada para rellenar con datos intuitivos aquellos registros de datos
que formen parte de las variables con missing values. Generalmente, añadiendo una estimación razonable de un valor de
datos adecuado es mejor que dejarlo en blanco.
Luego, la normalización de los datos intenta dar a todos los atributos el mismo peso y es particularmente útil en los
métodos de aprendizaje estadístico, la unidad de medida utilizada puede afectar el análisis de datos, todos los atributos
deben ser expresados en las mismas unidades de medida y deben usar una escala o rango común. Además, es
importante el proceso de integración de los data frames, se debe tener en cuenta y cuidado para evitar las
inconsistencias y redundancias, las operaciones típicas realizadas dentro de la integración de datos son la identificación y
unificación de variables y dominios, el análisis de atributos correlación, la duplicación de tuplas y la detección de
conflictos en valores de datos de diferentes fuentes.
También la transformación de datos son tareas dentro de la
transferencia de datos que hacen una formación del suavizado, la construcción de características, agregación o resumen
de datos, normalización, discretización y generalización. La mayoría de ellos serán tareas aisladas e independientes,
debido a que la transformación de datos, como la caso de limpieza de datos, se conoce como una familia general de
preprocesamiento de datos de tecnicas cuyas tareas requieren supervisión humana y son más dependientes de los
datos, son las técnicas clásicas de transformación de datos, como la generación de informes, nuevos atributos que
agregan a los ya existentes y generalización de conceptos especialmente en atributos categóricos, como el reemplazo
de fechas completas en la base de datos con números de año únicamente, Herrea, S. G. L (2015, 26-28).
2.2. Reducción de ruído
En relación a la reducción de ruido se presenta una solución a la no actualización de una librería de mucha utilidad para
esta etapa del procesamiento.
La librería en cuestión es la NoiseFiltersR 1 que se usa para el tratamiento del ruido en problemas de clasificación, se
eliminan observaciones identificadas como ruidosas o modifican la clase asignada. Este tipo de métodos están basados
en la distancia (vecindad) o clasificación (frecuentemente mediante ensembles y cross validation).
Su objetivo principal es detectar errores aleatorios o variaciones en una variable. Tener en cuenta que nos referimos a la
detección de ruido en lugar de la eliminación de ruido, que está más relacionado con la tarea de selección de instancias
dentro de la reducción de datos. Una vez que un ejemplo ruidoso es detectado, podemos aplicar un proceso basado en
la corrección que podría implicar algún tipo de operación subyacente. Herrera, S. G. L (2015, 28).
En cualquier proceso de minería de datos, el valor del conocimiento extraído está directamente relacionado con la
calidad de los datos utilizados. Los problemas Big Data, generados por el crecimiento masivo de los datos en los últimos
años, siguen el mismo dictado. Un problema común que afecta a la calidad de los datos es la presencia de ruido,
especialmente en los problemas de clasificación, en los que el ruido de clase se refiere al etiquetado incorrecto de las
instancias de entrenamiento. Sin embargo, en la era del Big Data, las grandes cantidades de datos plantean un reto a las
propuestas tradicionales creadas para hacer frente al ruido, ya que tienen dificultades para procesar tal cantidad de
datos. Es necesario proponer nuevos algoritmos para el tratamiento de ruido en Big Data, obteniendo datos limpios y de
calidad, también conocidos como Smart Data. Existen diversos enfoques de preprocesamiento de datos en Big Data
para eliminar instancias ruidosas por ejemplo: un ensamble homogéneo y un ensamble heterogéneo, con especial
énfasis en su escalabilidad y rendimiento. Los resultados obtenidos muestran que estas propuestas permiten obtener
eficientemente un Smart Dataset a partir de cualquier problema de clasificación de Big Data, García y Francisco Herrera
(2016, 1-6).
Según García y Francisco Herrera (2016, 1-6) “El ensamble homogéneo está inspirado en Cross-Validated Committees
Filter (CVCF). Este filtro elimina instancias ruidosas realizando un k-fold a los datos. Después entrena un árbol de decisión
k veces, dejando fuera uno de los subconjuntos cada vez. Esto da como resultado k clasificadores que se utilizan para
predecir los datos de entrenamiento k veces, luego, utilizando una estrategia de voto, se eliminan las instancias mal
clasificadas. El ensemble heterogéneo está inspirado en Ensemble Filter (EF). Este filtro de ruido usa tres algoritmos de
aprendizaje para identificar instancias ruidosas: un árbol de decisión, kNN y un clasificador lineal. Realiza un k-fold sobre
los datos y para cada una de las k particiones, aprende tres modelos en las otras k − 1 particiones. Cada uno de los
clasificadores da una etiqueta a los ejemplos de test. Finalmente, usando una votación, se eliminan las instancias
ruidosas. EHT sigue el mismo esquema EF. La principal diferencia es la elección de los tres algoritmos de aprendizaje: en
lugar de un árbol de decisión, usamos Random Forest. Como clasificador lineal se ha usado la Regresión Logística.
Finalmente, kNN se ha mantenido como clasificador”.
2.3. Balanceo de los datos
El balanceo de datos de la data “Bank marketing response predict” se realizará con el algoritmo SMOTE (Synthetic
Minority Over-sampling Technique), propuesto por Chawla et. al. (2002).
De acuerdo a lo propuesto en el uso de este algoritmo con el objetivo de balancear datasets combina dos estrategias,
over-sampling o aumentar el número de muestras de la clase minoritaria, y realizar el under-sampling o reducir el
número de muestras de la clase mayoritaria.
Chawla et. al. (2002) demostraron que con el uso de esta metodología se mejoraban considerablemente los indicadores
de clasificación de la clase -inicialmente- minoritaria. De acuerdo a su propuesta, un dataset es imbalanceado si las
clases no están adecuada e igualmente representadas. Como resultado de este desbalance, los resultados de un
ejercicio de clasificación no son los mejores, pues existirá un sesgo que favorece a la clase mayoritaria.
Como explican en su artículo, Chawla et. al. (2002) proponen hacer over-sampling a la clase minoritaria, introduciendo
muestras “sintéticas” mediante su metodología, obtenidos de los k vecinos más cercanos de la clase minoritaria. En ese
sentido, y considerando su propuesta “dependiendo de la cantidad de sobremuestreo requerida, los vecinos de los k
vecinos más cercanos se eligen aleatoriamente”. Asimismo, agregan “nuestra implementación usa cinco vecinos más
cercanos. Por ejemplo, si la cantidad de sobremuestreo necesaria es del 200%, solo se eligen dos vecinos de los cinco
vecinos más cercanos y se genera una muestra en la dirección de cada uno”.
III. METODOLOGÍA
3.1. Imputación de valores perdidos
En primer lugar, se describen las variables y características de la base de datos, luego se procederá a verificar si existen
registros a imputar.
Descripción de variables caracteres
Número de variables 17
Caracteres 10
Numéricas 7
Número de fila 12870
1. job Actividad laboral del cliente: technician, services, management, admin, student, blue-collar, housemaid, retired,
unemployed, self-employed, unknown.
2. marital Estado civil: single, married, divorced.
3. education Nivel educativo:
tertiary, secondary, unknown.
4. default
5. housing Si el cliente vive como alojado o no
6. loan Indica si el cliente tiene
préstamo o no
7. contact Medio de contacto: cellular, unknown, telephone.
8. month Mes de recolección de los datos.
9.
poutcome Resultado previo de la evaluación: unknown, failure, success,other 10. y Aprueba el préstamo o no: Yes, no.
Descripción de variables numéricas
1. ID Código de identificación del cliente potencial.
2. age Edad del cliente potencial.
3. balance Valor del balance del
evaluado.
4. day Día de la evaluación.
5. campaign Número de la campaña
6 pdays
7 previous
Evaluar la existencia de datos perdidos
En primer lugar, se observa si existen registros con NA
< dataS |< miss_var_summary()
Observamos que hay cuatro variables que concentran un gran porcentaje de valores faltantes.
< dataS |< md.pattern()
Aplicamos el método de imputación de KNN, elegimos este método básicamente por la cantidad de variables
categóricas que tenemos.
dataS |< VIM::kNN(methodStand = "range") -< dataS_imp1
Luego verificamos si aún continúan habiendo datos perdidos.
dataS_imp1 |< n_miss()
.
Gráficamente:
.
Con lo que tenemos una data sin datos imputados.
3.2. Reducción de ruído
Se tienen una cantidad de métodos como se muestra en la siguiente figura:
.
Elegimos algunos de los métodos y bajo ciertos parámetros elegimos el más adecuado para nuestro caso.
Encontramos una solución para cargar la librería que no es posible con las versiones posteriores de R.
devtools::install_github("melissakey/NoiseFiltersR")
library(NoiseFiltersR)
Procedemos a cargar la data además de convertir a factor aquéllos que sean datos categóricos:
Ejecutamos algunos métodos de filtro:
Obtenemos los siguientes resultados:
Tabla 3: Resultados de Funciones de Filtro
Función
Registros Filtrados
Registros Resultantes
% Post
Data Total
12860
100%
C45robustFilter
508
12352
96.05%
C45votingFilter (cc)
1990
10870
84.52%
C45votingFilter (sc)
5304
7556
58.75%
C45iteratedVotingFilter
6059
6801
52.89%
CVCF
5076
7784
6053%
edgeBoostFilter (cc)
1979 10881
84.61%
edgeBoostFilter (sc)
1979 10881
84.61%
De las funciones ejecutadas elegimos el de C45robustFilter según el algoritmo de clasificación, el árbol de decisión c4.5.
3.3. Balanceo de los datos
Con respecto a la metodología usada para el balanceo de datos, a continuación se muestra lo propuesto por Chawla et.
al (2002), describiendo el pseudocódigo del algoritmo SMOTE:
Figura 3.3
Algoritmo SMOTE
Fuente: Chawla et. al. (2002)
Como se aprecia en la descripción del pseudocódigo del algoritmo, a continuación se explica el funcionamiento del
algoritmo SMOTE, de acuerdo al aporte de Rodríguez (2017) :
- “Calcular la cantidad de objetos sintéticos a generar (n), de acuerdo a un parámetro (N ∈ R) de proporción a sobre-
muestrear en la clase minoritaria (m). (n = |m| ∗ N, donde |m| es la cantidad de objetos en la clase minoritaria)”.
-
“Considerando el valor de N. se tienen las siguientes condiciones:
- N > 1, la cantidad de objetos a generar es menor
que la cantidad de objetos en la clase minoritaria, por lo que se selecciona un subconjunto aleatorio, de tamaño n, de
objetos de la clase minoritaria. - N = 1, la cantidad de objetos a generar es igual a la cantidad de objetos de la clase
minoritaria, por lo que se seleccionan todos los objetos de la clase minoritaria.
- N < 1, la cantidad de objetos a generar
es mayor a la cantidad de objetos en la clase minoritaria, en este caso se seleccionan todos los objetos de la clase
minoritaria tantas veces como el valor entero de N, además de un subconjunto aleatorio de objetos de la clase
minoritaria en función de la diferencia entre N y el valor entero N”.
- “Para cada objeto seleccionado, de la clase
minoritaria, se elige aleatoriamente uno de sus k vecinos más cercanos, donde k es un parámetro, y se prosigue con los
siguientes pasos”:
- “Se calcula la diferencia para cada atributo del objeto de la clase minoritaria y su vecino más cercano
seleccionado.
- Se multiplica la diferencia por un valor aleatorio entre 0 y 1.
- Se suma el resultado de la multiplicación al
objeto original de la clase minoritaria, generando de esta manera un nuevo objeto sintético”.
En el caso de la etapa de under-sampling o realizar un submuestreo de la clase mayoritaria, Chawla et. al. (2002)
mediante “la eliminación aleatoria de muestras de la población de la clase mayoritaria hasta que la clase minoritaria se
convierte en un porcentaje específico de la clase mayoritaria”. De acuerdo a su propuesta, “si submuestreamos la clase
mayoritaria al 200%, significaría que el conjunto de datos modificado contendrá el doble de elementos de la clase
minoritaria que de la clase mayoritaria; es decir, si la clase minoritaria tuviera 50 muestras y la clase mayoritaria tuviera
200 muestras y submuestreamos la mayoría al 200%, la clase mayoritaria terminaría teniendo 25 muestras”.
En el caso de la base de datos referida a “Bank marketing response predict” se balancearon los datos utilizando el
algoritmo SMOTE de la librería DMwR (algoritmo no visto en clase), implementado por Luis Torgo (2013). Este algoritmo
se explicará más adelante.
Como parte de la metodología implementada, se cargan los datos:
data >- read.csv("train.csv", sep = ",")
Se obtiene una vista de los datos:
Para implementar el algoritmo SMOTE del paquete DMwR, se convierten variables que están consideradas en el dataset
como númericas, cuando son factores, incluyendo la variable respuesta (y):
data$y >- as.factor(data$y)
data$marital >- as.factor(data$marital)
data$job >- as.factor(data$job)
data$education >- as.factor(data$education)
data$default >- as.factor(data$default)
data$housing >-
as.factor(data$housing)
data$loan >- as.factor(data$loan)
data$contact >- as.factor(data$contact)
data$month
>- as.factor(data$month)
data$poutcome >- as.factor(data$poutcome)
Para verificar la distribución de los valores de la variable respuesta (y), que toma los valores de sí (yes) o no (no),
realizamos una tabla:
table(data$y)
Para ver los porcentajes:
table(data$y)/12870
En esta tabla vemos que la clase minoritaria (yes) representa el 30.82%, y la clase mayoritaria (no) representa el 69.17%.
Como se puede observar, el desbalance no es tan pronunciado, sin embargo, para efectos de la aplicación de este
algoritmo de la librería DMwR, se realizará el balanceo de los datos, utilizando el algoritmo SMOTE de dicha librería.
Cargamos la librería DMwR:
library(DMwR)
##

92% MATCHING BLOCK 1/4 M0.156_20212_Primera PAC_17295069.txt


(D134404312)

Loading required package: xts


## Warning: package 'xts' was built under R version 4.1.3
## Loading required package:
zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date,
as.Date.numeric
## Loading required package: quantmod
## Warning: package 'quantmod' was built under R version
4.1.3
##

100% MATCHING BLOCK 2/4 M0.156_20212_Primera PAC_17295069.txt


(D134404312)

Loading required package: TTR


## Warning: package 'TTR' was built under R version 4.1.3
## Registered S3 method
overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
##
70% MATCHING BLOCK 3/4 Tarea 2- García Torres, Daniel.pdf
(D70688998)

Loading required package: ROCR


## Loading required package: class
## Loading required package: rpart
## Loading
required package:

abind
## Loading required package: cluster
## Loading required package: lattice
## Loading required package: grid
La función SMOTE del paquete DMwR creará un nuevo dataset balanceado, para lo cual asignamos el nombre del nuevo
dataset y utilizamos la función SMOTE:
data_balanceada >- SMOTE(y ~ ., data, perc.over = 100, perc.under = 200)
A diferencia de otros algoritmos, al utilizar SMOTE de la librería DMwR se incluyen algunos argumentos adicionales que
se detallan a continuación:
y: Variable respuesta. En este caso es una variable dicotómica, que toma los valores de sí (yes) o no (no), y se considera
en función de todas las demás variables predictoras consideradas.
data: Dataset original
perc.over: Especifica el número de observaciones que queremos agregar (over-sampling), en
términos de porcentaje, en relación a la clase minoritaria. En este caso, se especificó 100, es decir, 100/100 = 1, se
agregará una (1) observación por cada observación de la clase minoritaria. Como en el dataset original existen 3967
observaciones de la clase minoritaria, se agregará con este argumento el 100% de observaciones, es decir, 3967
observaciones más, teniendo en total como resultado del sobre muestreo 3967 + 3967 = 7934 observaciones.
perc.under: Específica el número de observaciones que deseamos eliminar (under-sampling), en relación con el número
de observaciones añadidas con el proceso de over-sampling. En este caso se especificó 200, es decir, 200/100, 2 veces
el número de observaciones de la clase minoritaria añadida con el over-sampling. En este caso, en el proceso de over-
sampling se añadieron 3967 observaciones, por lo que el proceso de under-sampling considera como número total de
observaciones 2*3967 = 7934 observaciones es el número total de observaciones que se tendrán de la clase mayoritaria.
IV. RESULTADOS
4.1. Reducción de ruído
De la corrida de las funciones apropiadas a nuestra data obtenemos los siguientes filtros y nuestra decisión:
Tabla 4: Resultados de Funciones de Filtro
Función
Registros Filtrados
Registros Resultantes
Decisión
Data Total
12860
C45robustFilter
508
12352
OK
C45votingFilter (cc)
1990
10870
C45votingFilter (sc)
5304
7556
C45iteratedVotingFilter
6059
6801
CVCF
5076
7784
edgeBoostFilter (cc)
1979 10881
edgeBoostFilter (sc)
1979 10881
Ahora podemos observar la data luego del filtro seleccionado:
4.2. Balanceo de los datos
Para el balanceo de datos y como fue mencionado en la sección anterior, en este caso se utiliza la librería DMwR (no
utilizada en clase), propuesta por Luis Torgo (2013). Dentro de esta librería, se utilizó el algoritmo SMOTE, el mismo que
no fue visto en clase.
De acuerdo al algoritmo implementado, y cuya metodología fue explicada en la sección anterior, se obtuvieron los
siguientes resultados:
data_balanceada >- SMOTE(y ~ ., data, perc.over = 150, perc.under = 200)
En función a la metodología explicada en el acápite anterior, se obtienen los siguientes resultados con el uso de este
algoritmo:
Finalmente y como se aprecia en la tabla anterior, luego de especificar los argumentos perc.over = 150 y perc.under =
200, se obtiene la nueva data balanceada, de modo que se realizó un over-sampling a la clase minoritaria, y un under-
samping a la mayoritaria.
Conforme a lo señalado en el marco teórico, este balanceo de los datos mejoraría considerablemente el desempeño de
los modelos de clasificación de la variable respuesta y del dataset.
V. CONCLUSIONES
El dataset “Bank marketing response predict” es un dataset que cuenta con un total de 12870 observaciones y 17
variables en total, de las cuales, una (1) variable correspondió a la variable respuesta, y estuvo referida a la decisión de sí
realizar un depósito a plazo fijo o no. Las 16 variables restantes fueron potencialmente explicativas.
Conforme al análisis realizado, este dataset, por sus características evaluadas, fue susceptible de ser sometido a acciones
de preprocesamiento, con el objetivo final de mejorar el posterior diseño de estrategias de clasificación de la variable
respuesta.
Como parte de las acciones de preoprocesamiento, se incluyeron tres acciones, de las cuales se concluye lo siguiente:
• En relación a la imputación de valores perdidos o NA, el grupo optó por el método KNN el cual fue adecuado.
• En relación a la reducción de ruido elegimos la función de filtro C45RobustFilter, algoritmo que usa el método de
clasificación del árbol de decisión c4.5. Luego de aplicado el filtro nos quedamos con el 5.95% de toda la data. La mayor
cantidad de métodos aplicados nos resta más del 20% de la data lo cual no consideramos como apropiado, elegimos
aquél método que nos conserva un porcentaje tolerable del total de datos. También podemos generar un flag a estos
datos ruidosos con filtros y revalidar su filtrado con la sección del procesamiento de selección de instancias.
• Con relación al balanceo de datos, el grupo consideró oportuno la aplicación del algoritmo SMOTE del paquete DMwR,
un paquete utilizado de manera frecuente para el preprocesamiento de datos. Si bien existen otros argumentos que
considerar, en comparación con otras librerías, resulta interesante tener en cuenta esta librería, debido a que el
algoritmo específica de manera explícita la cantidad o porcentaje de data sintética que se generará mediante el over-
sampling de la clase minoritaria, y la cantidad o porcentaje de data que se conservará de la clase mayoritaria, mediante el
under-sampling, realizado siempre en función de los datos añadidos. En el caso del dataset evaluado en este trabajo, y
mediante la especificación de los argumentos del algoritmo SMOTE presentado, se logró obtener una data balanceada,
en función de la variable respuesta considerada, mediante el correcto over-sampling y under-sampling correspondiente.
VI. REFERENCIAS

80% MATCHING BLOCK 4/4 https://www.researchgate.net/publication/22054 ...

Chawla, N., Bowyer, K., Hall, L. y Kegelmeyer, W. (2002). SMOTE: Synthetic Minority Over-sampling Technique.

Journal of Artificial Intelligence Research,


N.° 16,
pp. 321-357.
García y Francisco Herrera, D. G. G. J. L. S. (Ed.). (2016). Smart Data: Filtrado de Ruido
para Big Data. Departamento de Ciencias de la Computacion e Inteligencia Artificial, Universidad de Granada, Granada,
España 18071. https://app.bibguru.com/p/ba459aa8-b22b-4115-b5d2-5537e6c28de6
Herrera, S. G. J. L. (2015). Data Preprocessing in Data Mining. Springer.
http://pzs.dstu.dp.ua/DataMining/preprocessing/bibl/Data%20Preprocessing%20in%20Data%20Mining.pdf
Rodríguez, F. (2017). Smote-D, una versión determinista de SMOTE. Tesis para optar el grado de Maestro en Ciencias en
el área Ciencias Computacionales. Tonantzintla, Puebla.
1 Morales, Pablo,, “The NoiseFiltersR Package: Label Noise Preprocessing in R”, The R JournalVl.9, 2017, pp 219-228.

Hit and source - focused comparison, Side by Side


Submitted text As student entered the text in the submitted document.
Matching text As the text appears in the source.

1/4 SUBMITTED TEXT 47 WORDS 92% MATCHING TEXT 47 WORDS

Loading required package: xts


## Warning: package 'xts'
was built under R version 4.1.3
## Loading required
package: zoo
##
## Attaching package: 'zoo'
## The
following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required
package: quantmod
## Warning: package 'quantmod'
was built under R version 4.1.3
##

M0.156_20212_Primera PAC_17295069.txt
(D134404312)
2/4 SUBMITTED TEXT 35 WORDS 100% MATCHING TEXT 35 WORDS

Loading required package: TTR


## Warning: package
'TTR' was built under R version 4.1.3
## Registered S3
method overwritten by 'quantmod':
## method from
##
as.zoo.data.frame zoo
##

M0.156_20212_Primera PAC_17295069.txt
(D134404312)

3/4 SUBMITTED TEXT 16 WORDS 70% MATCHING TEXT 16 WORDS

Loading required package: ROCR


## Loading required
package: class
## Loading required package: rpart
##
Loading required package:

Tarea 2- García Torres, Daniel.pdf


(D70688998)

4/4 SUBMITTED TEXT 16 WORDS 80% MATCHING TEXT 16 WORDS

Chawla, N., Bowyer, K., Hall, L. y Kegelmeyer, W. (2002). Chawla, N., Bowyer, K., Hall, L., & Kegelmeyer, P. (2000).
SMOTE: Synthetic Minority Over-sampling Technique. Synthetic Minority Over-sampling TEchnique.

https://www.researchgate.net/publication/220543125_SMOTE_Synthetic_Minority_Over-sampling_Technique

También podría gustarte