SMOTE

1. Cicle de vida

4. Llenguatge de programació

Descripció

En moltes ocasions, en un problema de classificació ocorre que les classes que cal discriminar no estan representades proporcionalment, sinó que una classe predomina sobre les altres o bé una classe té molt pocs elements en el conjunt de dades. Si s’intenta construir un classificador directament sense tenir en compte aquest desequilibri, el classificador resultant segurament tendirà a predir la classe majoritària, atès que aquesta acció minimitza l’error comès en encertar la majoria de vegades, i classificarà erròniament de manera sistemàtica els elements de la classe minoritària, que segurament són els més interessants.

Per a solucionar aquest problema hi ha diferents tècniques, com per exemple SMOTE, acrònim de Synthetic Minority Over-sampling Technique, basada a generar de forma sintètica nous elements de la classe minoritària usant com a referència els elements d’aquesta classe ja presents en el conjunt de dades. Per a això, a partir d’un element de la classe minoritària triat a l’atzar, s’escull un cert nombre de veïns més propers i es genera un nou element combinant-los linealment de manera ponderada introduint un factor aleatori per a generar elements semblants. Hi ha diferents versions de l’algorisme en funció de quants veïns i com es combinen per a generar-ne un de nou. Si repetim aquest procés és possible generar tants elements de la classe minoritària com sigui necessari per a equilibrar el conjunt de dades.

Enllaç al recurs

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

Exemple d’ús

Hi ha molts àmbits en els quals la disponibilitat de classes està molt esbiaixada, entre d’altres destaquen els següents:

  • Detecció de frau en compres amb targeta de crèdit. En aquest cas, més del 99,9% de les transaccions són autèntiques, mentre que el 0,1% restant són fraudulentes i són realment l’objectiu del problema que cal resoldre.
  • Classificació de tumors mitjançant l’ús de ressonància magnètica. A partir de les ressonàncies obtingudes de pacients amb tumor cerebral, que pot ser de desenes de classes diferents, s’intenta construir un classificador que els separi de casos de pacients sans o amb altres problemes que no requereixen un tractament específic contra el càncer. En aquest cas hi ha moltes més ressonàncies de teixit sa que de tumors, i dins dels tumors, hi ha classes molt més freqüents que d’altres.
  • Classificació de les signatures espectrals obtingudes del terreny mitjançant satèl·lits, atès que el nombre de classes pot ser molt elevat i la seva distribució pot variar molt en funció de cada regió, per exemple, en ciutats l’asfalt és majoritari, mentre que a la muntanya és pràcticament inexistent.

Enllaços relacionats

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

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

Viquipèdia: https://en.wikipedia.org/wiki/oversampling_and_undersampling_in_data_analysis