accesskey_mod_content

Com preparar un conjunt de dades per a machine learning i anàlisis

  • Escoltar
  • Copiar
  • Imprimir PDF
  • Compartir

"Notícia disponible únicament amb finalitats històriques i d'hemeroteca. La informació i enllaços mostrats es corresponen amb els quals estaven operatius a la data de la seua publicació. No es garantix que continuen actius actualment".

03 maig 2023

En el procés d'anàlisi de dades i entrenament de models d'aprenentatge automàtic, és fonamental comptar amb un conjunt de dades adequat.

El primer que cal tindre en compte en preparar les dades és saber el tipus de problema que s'intenta resoldre. Per exemple, si la teua intenció és crear un model d'aprenentatge automàtic capaç de reconéixer l'estat emocional d'algú a partir de les seues expressions facials, necessitaràs un conjunt de dades amb imatges o vídeos de cares de persones. O, tal vegada, l'objectiu és crear un model que identifique els correus electrònics no desitjats. Per a açò, es necessitaran dades en format text de correus electrònics.

A més, les dades que es precisen també depenen del tipus d'algoritme que vullgues utilitzar. Els algoritmes de  aprenentatge supervisat(Obri en nova finestra) , com la regressió lineal o els arbres de decisió, requerixen un camp que continga el valor verdader d'un resultat perquè el model aprenga d'ell. A més d'este valor verdader, denominat objectiu, requerixen camps que continguen informació sobre les observacions, alguna cosa que es coneix com a característiques. En canvi, els algoritmes de  aprenentatge no supervisat(Obri en nova finestra) , com la agrupació k-means o els sistemes de recomanació basats en el filtrat col·laboratiu, en general només necessiten característiques.

No obstant açò, trobar les dades és només la mitat del treball. Els conjunts de dades del món real poden contindre tot tipus d'errors que poden fer que tot el treball resulte inútil si no es detecten i corregixen abans de començar. En este post, anem a presentar alguns dels principals obstacles que pot haver-hi en els conjunts de dades per a l'aprenentatge automàtic i l'anàlisi, així com conéixer algunes maneres en què la plataforma de ciència de dades col·laborativa,  Datalore(Obri en nova finestra) , pot ajudar a detectar-los ràpidament i posar-los remei.

Les dades són representatives d'allò que es vol mesurar?

La majoria dels conjunts de dades per a projectes o anàlisis d'aprenentatge automàtic no estan dissenyats específicament per a eixa fi. A falta d'un diccionari de metadades o d'una explicació sobre el què signifiquen els camps del conjunt de dades, és possible que l'usuari haja de resoldre la incògnita basant-se en la informació de la qual disposa.

Una forma de determinar el que mesuren les característiques d'un conjunt de dades és comprovar les seues relacions amb altres característiques. Si se suposa que dos camps mesuren coses similars, és d'esperar que estiguen molt relacionats. Per contra, si dos camps mesuren coses molt diferents, és d'esperar que no estiguen relacionats. Estes idees es coneixen com a  validesaconvergent i discriminant, respectivament.

Otra cosa important que cal comprovar és si algun dels trets està massa relacionat amb el públic objectiu. Si açò ocorre, pot indicar que este tret està accedint a la mateixa informació que l'objectiu a predir. Este fenomen es coneix com “feature leakage” (fugida de característiques). Si s'empren estes dades, existix el risc d'unflar artificialment el rendiment del model.

En este sentit, Datalore permet escanejar ràpidament la relació entre variables continues mediate el gràfic de correlació en la pestanya Visualitzar per a un DataFrame. Una altra manera de comprovar estes relacions és utilitzant gràfics de barres o tabulacions creuades, o mesures de la grandària de l'efecte com el coeficient de determinació o la V de Cramér .

El conjunt de dades està correctament filtrat i net?

Els conjunts de dades poden contindre tot tipus d'inconsistències que poden afectar negativament als nostres models o anàlisis. Alguns dels indicadors més importants de dades brutes són:

  • Valors inversemblants: Açò inclou valors que estan fora de rang, com els negatius en una variable de recompte o freqüències que són molt més altes o més baixes de l'esperat per a un camp en particular.
  • Valors atípics: Es tracta de  valors extrems(Obri en nova finestra) , que poden representar qualsevol cosa, des d'errors de codificació que es van produir en el moment en què es van escriure les dades, fins a valors rars però reals que se situen fora de la grossària de les altres observacions.
  • Valors perduts: El patró i la quantitat de dades que falten determinen l'impacte que tindran, sent els més greus els que estan relacionats amb l'objectiu o les característiques.

Les dades brutes poden minvar la qualitat de les seues anàlisis i models, en gran mesura perquè distorsionen les conclusions o perquè conduïxen a un rendiment deficient del model. La pestanya Estadístiques de Datalore permet comprovar fàcilment estos problemes, ja que mostra d'una ullada la distribució, el nombre de valors perduts i la presència de valors atípics per a cada camp. Datalore també facilita l'exploració de les dades en brut i permet realitzar operacions bàsiques de filtrat, ordenació i selecció de columnes directament en un DataFrame, exportant el codi Python corresponent a cada acció a una nova cel·la.

Les variables estan equilibrades?

Les  dades desequilibrades(Obri en nova finestra)  es produïxen quan els camps categòrics tenen una distribució desigual d'observacions entre totes les classes. Esta situació pot causar problemes importants per als models i les anàlisis. Quan es té un objectiu molt desequilibrat, es poden crear models peresosos que encara poden aconseguir un bon rendiment simplement predient per defecte la classe majoritària. Posem un exemple extrem: tenim un conjunt de dades en el qual el 90% de les observacions corresponen a una de les classes objectiu i el 10% a l'altra. Si sempre prediguérem la classe majoritària per a este conjunt de dades, seguiríem obtenint una precisió del 90%, la qual cosa demostra que, en estos casos, un model que no aprèn res de les característiques pot tindre un rendiment excel·lent.

Les característiques també es veuen afectades pel desequilibri de classes. Els models funcionen aprenent patrons, i quan les classes són massa xicotetes, és difícil per als models fer prediccions per a estos grups. Estos efectes poden agreujar-se quan es tenen diverses característiques desequilibrades, la qual cosa porta a situacions en les quals una combinació concreta de classes poc comunes només pot donar-se en un grapat d'observacions.

Les dades desequilibrades poden rectificar-se mitjançant diverses tècniques de mostreig. El submuestreo (undersampling, en anglés) consistix a reduir el nombre d'observacions en les classes més grans per a igualar la distribució de les dades, i el sobremuestreo (oversampling) consistix a crear més dades en les classes més xicotetes. Hi ha moltes formes de fer-ho. Alguns exemples inclouen l'ús de paquets Python com  imbalanced-learn(Obri en nova finestra)  o servicis com  Gretel(Obri en nova finestra) . Les característiques desequilibrades també poden corregir-se mitjançant l'enginyeria de característiques, que el seu objectiu és combinar classes dins d'un camp sense perdre informació.

En definitiva, és representatiu el conjunt de dades?

A l'hora de crear un conjunt de dades, es té en ment un grup objectiu o target per al qual desitges que el teu model o anàlisi funcione. Per exemple, un model per a predir la probabilitat que els hòmens nord-americans interessats en la moda compren una determinada marca. Este  grup objectiu(Obri en nova finestra)  és la població sobre la qual es vol poder fer generalitzacions. No obstant açò, com no sol ser pràctic recopilar informació sobre tots els individus que constituïxen esta part de la població, en el seu lloc s'empra un subconjunt denominat  mostra(Obri en nova finestra) .

A voltes sorgixen problemes que fan que les dades de la mostra per al model de  aprenentatge automàtic(Obri en nova finestra)  i l'anàlisi no representen correctament el comportament de la població. Açò es denomina biaix de les dades. Per exemple, és possible que la mostra no capte tots els subgrups de la població, un tipus de biaix denominat biaix de selecció.

Una forma de comprovar el biaix és inspeccionar la distribució dels camps de les seues dades i comprovar que tenen sentit basant-se en el que un sap sobre eixe grup de la població. L'ús de la pestanya Estadístiques de Datalore permet escanejar la distribució de les variables contínues i categòriques d'un DataFrame .

S'està mesurant el rendiment real dels models?

Una última qüestió que pot posar-li en un destret és el mesurament del rendiment dels seus models. Molts models són propensos a un problema  anomenat sobreajuste(Obri en nova finestra)  que és quan el model s'ajusta tan bé a les dades d'entrenament que no es generalitza bé a les noves dades. El signe revelador del sobreajuste és un model que funciona extremadament bé amb les dades d'entrenament i el seu rendiment és inferior amb noves dades. La forma de tindre açò en compte és dividir el conjunt de dades en diversos conjunts: un conjunt d'entrenament per a entrenar el model, un conjunt de validació per a comparar el rendiment de diferents models i un conjunt de prova final per a comprovar com funcionarà el model en el món real.

No obstant açò, crear una divisió neta d'entrenament-validació-prova pot ser complicat. Un problema important és la fugida de dades, per la qual la informació dels altres dos conjunts de dades es filtra en el conjunt d'entrenament. Açò pot donar lloc a problemes que van des dels obvis, com les observacions duplicades que acaben en els tres conjunts de dades, a uns altres més subtils, com l'ús d'informació de tot el conjunt de dades per a realitzar el preprocesamiento de característiques abans de dividir les dades. A més, és important que els tres conjunts de dades tinguen la mateixa distribució d'objectius i característiques, perquè cadascun siga una mostra representativa de la població.

Per a evitar qualsevol problema, s'ha de dividir el conjunt de dades en conjunts d'entrenament, validació i prova al principi del seu treball, abans de realitzar qualsevol exploració o processament. Per a assegurar-se que cada conjunt de dades té la mateixa distribució de cada camp, es pot utilitzar un mètode com train_test_split de  scikit-learn(Obri en nova finestra) , dissenyat específicament per a crear divisions representatives de les dades. Finalment, és recomanable comparar les estadístiques descriptives de cada conjunt de dades per a comprovar si hi ha signes de fugida de dades o divisions desiguals, la qual cosa es fa fàcilment utilitzant la pestanya Estadístiques de Datalore.

En definitiva, existixen diversos problemes que poden ocórrer quan es preparen les dades per a l'aprenentatge automàtic i l'anàlisi i és important saber com mitigar-los. Si ben açò pot ser una part que consumix molt temps del procés de treball, existixen ferramentes que poden fer que siga més ràpid i fàcil detectar problemes en una etapa primerenca.

Font original de la notícia(Obri en nova finestra)

  • Informació i dades del sector públic