SMOTE

1. Ciclo de vida

3. Ámbito de aplicación

4. Lenguaje de programación

Descripción

En muchas ocasiones, en un problema de clasificación ocurre que las clases que hay que discriminar no están representadas proporcionalmente, sino que una clase predomina sobre las otras o bien una clase tiene muy pocos elementos en el conjunto de datos. Si se intenta construir un clasificador directamente sin tener en cuenta este desequilibrio, el clasificador resultante seguramente tenderá a predecir la clase mayoritaria, dado que esa acción minimiza el error cometido al acertar la mayoría de veces, y clasificará erróneamente de forma sistemática los elementos de la clase minoritaria, los cuales son seguramente los más interesantes.

Para solucionar este problema existen diferentes técnicas, como por ejemplo SMOTE, acrónimo de Synthetic Minority Over-sampling Technique, basada en generar de forma sintética nuevos elementos de la clase minoritaria usando como referencia los elementos de dicha clase ya presentes en el conjunto de datos. Para ello, a partir de un elemento de la clase minoritaria elegido al azar, se escoge un cierto número de vecinos más cercanos y se genera un nuevo elemento combinándolos linealmente de forma ponderada introduciendo un factor aleatorio para generar elementos parecidos. Existen diferentes versiones del algoritmo en función de cuántos vecinos y cómo se combinan para generar uno nuevo. Si repetimos este proceso es posible generar tantos elementos de la clase minoritaria como sea necesario para equilibrar el conjunto de datos.

Enlace al recurso

https://jair.org/index.php/jair/article/view/10302

Ejemplo de uso

Existen muchos ámbitos en los que la disponibilidad de clases está muy sesgada, entre otros se pueden destacar los siguientes:

  • Detección de fraude en compras con tarjeta de crédito. En este caso, más del 99,9 % de las transacciones son auténticas, mientras que el 0,1 % restante son fraudulentas y son realmente el objetivo del problema que hay que resolver.
  • Clasificación de tumores mediante el uso de resonancia magnética. A partir de las resonancias obtenidas de pacientes con un tumor cerebral, que puede ser de decenas de clases diferentes, se intenta construir un clasificador que los separe de casos de pacientes sanos o con otros problemas que no requieren un tratamiento específico contra el cáncer. En este caso hay muchas más resonancias de tejido sano que de tumores, y dentro de los tumores, hay clases mucho más frecuentes que otras.
  • Clasificación de las firmas espectrales obtenidas del terreno mediante satélites, dado que el número de clases puede ser muy elevado y su distribución puede variar mucho en función de cada región, por ejemplo, en ciudades el asfalto es mayoritario, mientras que en la montaña es prácticamente inexistente.

Enlaces relacionados

Usos de SMOTE: https://www.jair.org/index.php/jair/article/view/11192

Package de R: https://cran.r-project.org/web/packages/smotefamily/

Wikipedia: https://en.wikipedia.org/wiki/Oversampling_and_undersampling_in_data_analysis