Mètode de filtre de cara abraçada ().

Metode De Filtre De Cara Abracada



Hugging Face té diversos models i conjunts de dades de processament del llenguatge natural (PNL). Aquests enormes conjunts de dades contenen molta informació que ajuda a entrenar el model amb precisió. Tanmateix, de vegades no necessitem tot el conjunt de dades perquè només en necessitem una petita part per satisfer les nostres necessitats actuals. Si volem utilitzar el mateix conjunt de dades de sempre amb tota la informació, l'entrenament i l'optimització del model requereixen molt de temps, cosa que és una pèrdua de temps.

Per tant, necessitem algun tipus de mètode o paquet que pugui extreure la informació rellevant dels conjunts de dades. En llenguatge senzill, podem dir que necessitem una opció de filtre addicional per filtrar els conjunts de dades segons els nostres requisits.

Hugging Face ofereix diferents opcions per filtrar els conjunts de dades que ajuden els usuaris a crear conjunts de dades personalitzats que només contenen exemples o informació que compleixen condicions específiques.







Mètode Select().

Aquest mètode funciona sobre una llista d'índexs, la qual cosa significa que hem de definir una llista. Dins d'aquesta llista, hem d'esmentar tots els valors d'índex de files que volem extreure. Però aquest mètode només funciona per a conjunts de dades petits i no per a grans conjunts de dades, ja que no podem veure tot el conjunt de dades si està en GB (giga bytes) o TB (tera bytes).



Exemple :

nou_conjunt de dades = conjunt de dades. seleccionar ( [ 0 , 11 , 21 , 45 , 50 , 55 ] )

imprimir ( només ( nou_conjunt de dades ) )

En aquest exemple, hem utilitzat el mètode 'seleccionar' per filtrar la informació necessària del conjunt de dades.



Mètode Filter().

El mètode filter() supera els problemes del procés select() ja que no hi ha cap condició específica. El mètode filter() retorna totes les files que coincideixen amb una situació o condició particular.





Exemple: Desem aquest programa Python amb el nom “test.py”.

des de conjunts de dades importar load_dataset

# Pas 1: Carregueu el conjunt de dades
conjunt de dades = load_dataset ( 'imdb' )

# Pas 2: definiu la funció de filtratge
def filtre_personalitzat ( exemple ) :
'''
Una funció de filtratge personalitzada per retenir exemples amb positiu
sentiment (etiqueta == 1).
'''

tornar exemple [ 'etiqueta' ] == 1

# Pas 3: apliqueu el filtre per crear un nou conjunt de dades filtrat
conjunt de dades_filtrades = conjunt de dades. filtre ( filtre_personalitzat )

# Pas 4: comproveu els noms de columnes disponibles al conjunt de dades filtrat
imprimir ( 'Columnes disponibles al conjunt de dades filtrat:' ,
conjunt de dades_filtrades. noms_columnes )

# Pas 5: accediu a la informació del conjunt de dades filtrat
exemples_filtrats = conjunt de dades_filtrades [ 'tren' ]
nombre_exemples_filtrats = només ( exemples_filtrats )

# Pas 6: imprimiu el nombre total d'exemples filtrats
imprimir ( 'Total d'exemples filtrats:' , nombre_exemples_filtrats )

Sortida:



Explicació:

Línia 1: importem el paquet load_dataset necessari dels conjunts de dades.

Línia 4: carreguem el conjunt de dades 'imdb' mitjançant load_dataset.

Línies 7 a 12: definim la funció de filtratge personalitzada filtre_personalitzat per mantenir els exemples amb sentiment positiu (etiqueta == 1). Aquesta funció només retorna les files el valor de l'etiqueta és 1.

Línia 15: aquesta línia mostra que el conjunt de dades té les dades de revisió de pel·lícules 'imdb'. Ara apliquem la funció de filtre a aquesta base de dades per separar les ressenyes positives de la base de dades que s'emmagatzema a més al 'filtered_dataset'.

Línies 18 i 19: ara, comprovem quins noms de columnes estan disponibles al filtered_dataset. Per tant, el codi 'filtered_dataset.column_names' proporciona els detalls dels nostres requisits.

Línies 22 i 23: En aquestes línies, filtrem la columna 'tren' del conjunt de dades filtrat i imprimim el nombre total (longitud) de la columna del tren.

Línia 26: en aquesta darrera línia, imprimim el resultat de la línia número 23.

Filter() amb índexs

El mètode filter() també es pot utilitzar amb índexs com es veu al mode select(). Però per això, hem d'esmentar que la paraula clau 'with_indices=true' s'ha d'especificar fora del mètode filter() tal com es mostra a l'exemple següent:

odd_dataset = conjunt de dades. filtre ( lambda exemple , idx: idx % 2 != 0 , amb_índexs = És cert )

imprimir ( només ( odd_dataset ) )

En aquest exemple, hem utilitzat el mètode filter() per filtrar la informació necessària del conjunt de dades, incloses només les files que són estranyes.

Els detalls complets de cada paràmetre del mètode filter() es poden trobar aquí enllaç .

Conclusió

La biblioteca de conjunts de dades Hugging Face proporciona un conjunt d'eines potent i fàcil d'utilitzar per treballar de manera eficient amb diversos conjunts de dades, especialment en el context del processament del llenguatge natural (NLP) i les tasques d'aprenentatge automàtic. La funció filter() presentada al programa permet als investigadors i professionals extreure subconjunts de dades rellevants mitjançant la definició dels criteris de filtratge definits per l'usuari. Amb aquesta funcionalitat, els usuaris poden crear nous conjunts de dades sense esforç que compleixin condicions específiques, com ara mantenir un sentiment positiu a les ressenyes de pel·lícules o extreure dades de text específiques.

Aquesta demostració pas a pas il·lustra com de fàcil és carregar un conjunt de dades, aplicar les funcions de filtre personalitzades i accedir a les dades filtrades. A més, la flexibilitat dels paràmetres de la funció permet operacions de filtratge personalitzades, inclosa la compatibilitat amb el processament múltiple per a grans conjunts de dades. Amb la biblioteca del conjunt de dades Hugging Face, els usuaris poden racionalitzar les seves dades.