En l'àmbit de l'aprenentatge automàtic, especialment quan es treballa amb plataformes com Google Cloud Machine Learning, preparar i netejar les dades és un pas crític que afecta directament el rendiment i la precisió dels models que desenvolupeu. Aquest procés inclou diverses fases, cadascuna dissenyada per garantir que les dades utilitzades per a la formació siguin d'alta qualitat, rellevants i adequades per a la tasca d'aprenentatge automàtic prevista. Considerem els passos integrals necessaris per preparar i netejar les dades abans d'entrenar un model d'aprenentatge automàtic.
Comprendre la importància de la preparació i neteja de dades
La preparació i la neteja de dades són passos fonamentals en el procés d'aprenentatge automàtic. La qualitat de les vostres dades pot influir significativament en el rendiment dels vostres models d'aprenentatge automàtic. Les dades mal preparades poden conduir a models inexactes, mentre que les dades ben preparades poden millorar la precisió del model, reduir el temps d'entrenament i millorar la interpretabilitat dels resultats. El procés de preparació i neteja de dades és iteratiu i pot requerir revisar diverses vegades al llarg del cicle de vida del desenvolupament del model.
Passos en la preparació i neteja de dades
1. Recollida i integració de dades
El pas inicial en la preparació de dades és recollir dades de diverses fonts. Això podria incloure bases de dades, fulls de càlcul, API, web scraping, dispositius IoT i molt més. Un cop recollides, les dades s'han d'integrar en un únic conjunt de dades. Durant la integració, és important assegurar-se que les dades de diferents fonts són compatibles i coherents. Això pot implicar resoldre problemes com ara diferents formats de dades, unitats de mesura i tipus de dades.
Exemple: suposeu que esteu creant un model predictiu per a la rotació de clients mitjançant dades de diversos departaments, com ara vendes, assistència i màrqueting. Hauríeu de combinar aquests conjunts de dades en un conjunt de dades cohesionat que representi una visió holística del recorregut del client.
2. Neteja de dades
La neteja de dades implica identificar i corregir errors i inconsistències en el conjunt de dades. Aquest pas és essencial per garantir la precisió i la fiabilitat de les dades. Les tasques de neteja de dades inclouen:
- Tractament dels valors que falten: es poden produir dades que falten per diversos motius, com ara errors d'entrada de dades, mal funcionament de l'equip o corrupció de dades. Les estratègies habituals per gestionar els valors que falten inclouen:
- supressió: eliminació de registres amb valors que falten si són pocs i no afecten significativament el conjunt de dades.
- Imputació: omplint els valors que falten mitjançant mètodes estadístics com la mitjana, la mediana o la moda, o utilitzant tècniques més sofisticades com ara els K-veïns més propers o la imputació de regressió.
- Eliminació de duplicats: Els registres duplicats poden distorsionar l'anàlisi i s'han d'identificar i eliminar. Això és especialment important en conjunts de dades on cada registre hauria de representar una entitat única.
- Correcció d'incoherències: Això implica estandarditzar les entrades de dades que haurien de ser uniformes, com ara formats de data, etiquetes categòriques o majúscules i minúscules.
Exemple: en un conjunt de dades que conté informació del client, és possible que trobeu valors que falten a la columna "Edat". Podeu optar per omplir aquests valors que falten amb l'edat mitjana del conjunt de dades per mantenir la distribució.
3. Transformació de dades
La transformació de dades implica convertir les dades en un format adequat per a l'anàlisi i el modelatge. Aquest pas pot incloure:
- Normalització i estandardització: Aquestes tècniques s'utilitzen per escalar característiques numèriques a un rang o distribució comuna, cosa que és particularment important per als algorismes sensibles a l'escala de característiques, com ara les màquines de vectors de suport o l'agrupació de K-Means.
- normalització: Reescala les funcions a un interval de [0, 1] mitjançant l'escala mín-màx.
- Estandardització: Transformació de característiques per tenir una mitjana de 0 i una desviació estàndard d'1.
- Codificació de variables categòriques: els algorismes d'aprenentatge automàtic requereixen entrada numèrica. Per tant, les variables categòriques s'han de convertir en valors numèrics. Les tècniques inclouen:
- Codificació d'etiquetes: Assignació d'un nombre enter únic a cada categoria.
- Codificació One-Hot: Creació de columnes binàries per a cada categoria, que és preferible quan no hi ha una relació ordinal entre categories.
- Enginyeria de funcions: Creació de noves funcions o modificació de les existents per millorar el rendiment del model. Això pot implicar:
- Característiques polinomials: generació de termes d'interacció o termes polinomials a partir de característiques existents.
- Intervals: Convertir variables contínues en categòriques agrupant-les en bins.
Exemple: en un conjunt de dades amb una columna "Ciutat" que conté dades categòriques, podeu utilitzar una codificació única per crear columnes binàries per a cada ciutat, permetent que el model les interpreti com a entrades numèriques.
4. Reducció de dades
Les tècniques de reducció de dades s'utilitzen per reduir el volum de dades mantenint-ne la integritat. Això pot millorar l'eficiència computacional i el rendiment del model. Els mètodes inclouen:
- Reducció de la dimensionalitat: s'utilitzen tècniques com l'anàlisi de components principals (PCA) o l'incorporació de veïns estocàstics distribuïts en t (t-SNE) per reduir el nombre de característiques alhora que es conserven la variància o l'estructura de les dades.
- Selecció de funcions: Identificar i conservar només les característiques més rellevants basades en proves estadístiques, anàlisi de correlacions o mesures d'importància basades en models.
Exemple: si un conjunt de dades conté 100 característiques, es pot utilitzar PCA per reduir-ho a un conjunt més petit de components principals que capturen la majoria de la variància, simplificant així el model sense una pèrdua important d'informació.
5. Divisió de dades
Abans d'entrenar un model d'aprenentatge automàtic, és essencial dividir les dades en conjunts separats per a la formació, la validació i les proves. Això garanteix que el rendiment del model es pugui avaluar amb dades no vistes, reduint el risc de sobreajustament.
- Conjunt d'entrenament: La part de les dades utilitzada per entrenar el model.
- Conjunt de validació: un subconjunt separat que s'utilitza per ajustar els paràmetres del model i prendre decisions sobre l'arquitectura del model.
- Set de proves: un subconjunt final utilitzat per avaluar el rendiment del model després de l'entrenament i la validació.
Una pràctica habitual és utilitzar una divisió 70-15-15, però això pot variar segons la mida del conjunt de dades i els requisits específics del projecte.
6. Augment de dades
Per a determinats tipus de dades, especialment imatges i text, l'augment de dades es pot utilitzar per augmentar artificialment la mida del conjunt de dades d'entrenament mitjançant la creació de versions modificades de les dades existents. Això pot ajudar a millorar la robustesa i la generalització del model. Les tècniques inclouen:
- Augment de la imatge: s'apliquen transformacions com ara la rotació, l'escala, el capgirament i l'ajust de color per crear noves mostres d'entrenament.
- Augment de text: Ús de tècniques com la substitució de sinònims, la inserció aleatòria o la traducció posterior per generar dades textuals noves.
Exemple: en una tasca de classificació d'imatges, podeu aplicar rotacions i voltes aleatòries a les imatges per crear un conjunt d'entrenament més divers, ajudant el model a generalitzar millor les dades no vistes.
Eines i plataformes per a la preparació i neteja de dades
Google Cloud ofereix diverses eines i serveis que faciliten la preparació i neteja de dades:
- Google Cloud Dataprep: Una eina visual per explorar, netejar i preparar dades per a l'anàlisi. Proporciona una interfície intuïtiva i suggeriments automatitzats per agilitzar el procés de preparació de dades.
- BigQuery: un magatzem de dades sense servidor totalment gestionat que permet fer consultes SQL ràpides en grans conjunts de dades. Es pot utilitzar per preprocessar i netejar dades abans d'introduir-les als models d'aprenentatge automàtic.
- Cloud Datalab: una eina interactiva per a l'exploració, anàlisi i visualització de dades, que es pot utilitzar per preparar i netejar dades mitjançant Python i SQL.
- Flux de dades al núvol: un servei totalment gestionat per al processament de dades en flux i per lots, que es pot utilitzar per crear canalitzacions complexes de preparació de dades.
El procés de preparació i neteja de dades és un component crític del flux de treball d'aprenentatge automàtic. Implica múltiples passos, com ara la recollida de dades, la neteja, la transformació, la reducció, la divisió i l'augment. Cada pas requereix una consideració acurada i l'aplicació de tècniques adequades per garantir que les dades siguin d'alta qualitat i adequades per entrenar models d'aprenentatge automàtic robusts i precisos. Mitjançant l'aprofitament d'eines i plataformes com les que ofereix Google Cloud, els científics de dades i els enginyers d'aprenentatge automàtic poden racionalitzar i optimitzar aquest procés i, finalment, conduir a un desenvolupament de models més efectiu i eficient.
Altres preguntes i respostes recents sobre EITC/AI/GCML Google Cloud Machine Learning:
- Heu esmentat molts tipus d'algorismes com ara regressió lineal, arbres de decisió. Tot això són xarxes neuronals?
- Quines són les mètriques d'avaluació del rendiment d'un model?
- Què és la regressió lineal?
- És possible combinar diferents models de ML i crear una IA mestra?
- Quins són alguns dels algorismes més comuns utilitzats en l'aprenentatge automàtic?
- Com crear una versió del model?
- Com aplicar els 7 passos de ML en un context d'exemple?
- Com es pot aplicar l'aprenentatge automàtic a les dades de permisos de construcció?
- Per què es van suspendre les taules AutoML i què les succeeix?
- Quina és la tasca d'interpretar els doodles dibuixats pels jugadors en el context de la IA?
Consulta més preguntes i respostes a EITC/AI/GCML Google Cloud Machine Learning