Hugging Face Filter()-Methode

Hugging Face Filter Methode



Hugging Face verfügt über mehrere NLP-Modelle (Natural Language Processing) und Datensätze. Diese riesigen Datensätze enthalten viele Informationen, die dabei helfen, das Modell genau zu trainieren. Manchmal benötigen wir jedoch nicht den gesamten Datensatz, da wir nur einen kleinen Teil davon benötigen, um unseren aktuellen Bedarf zu decken. Wenn wir wie gewohnt denselben Datensatz mit allen Informationen verwenden möchten, nimmt das Modelltraining und die Optimierung viel Zeit in Anspruch, was Zeitverschwendung ist.

Wir benötigen also eine Methode oder ein Paket, das die relevanten Informationen aus den Datensätzen extrahieren kann. Vereinfacht ausgedrückt können wir sagen, dass wir eine zusätzliche Filtermöglichkeit benötigen, um die Datensätze gemäß unseren Anforderungen zu filtern.

Hugging Face bietet verschiedene Optionen zum Filtern der Datensätze, die den Benutzern helfen, benutzerdefinierte Datensätze zu erstellen, die nur Beispiele oder Informationen enthalten, die bestimmte Bedingungen erfüllen.







Select()-Methode

Diese Methode funktioniert mit einer Liste von Indizes, was bedeutet, dass wir eine Liste definieren müssen. In dieser Liste müssen wir alle Indexwerte dieser Zeilen angeben, die wir extrahieren möchten. Diese Methode funktioniert jedoch nur für kleine Datensätze und nicht für große Datensätze, da wir nicht den gesamten Datensatz sehen können, unabhängig davon, ob er in GB (Gigabyte) oder TB (Terabyte) vorliegt.



Beispiel :

neuer_Datensatz = Datensatz. wählen ( [ 0 , elf , einundzwanzig , Vier fünf , fünfzig , 55 ] )

drucken ( nur ( neuer_Datensatz ) )

In diesem Beispiel haben wir die Methode „select“ verwendet, um die erforderlichen Informationen aus dem Datensatz zu filtern.



Filter()-Methode

Die filter()-Methode überwindet die Probleme des select()-Prozesses, da es keine spezifische Bedingung gibt. Die Methode filter() gibt alle Zeilen zurück, die einer bestimmten Situation oder Bedingung entsprechen.





Beispiel: Wir speichern dieses Python-Programm unter dem Namen „test.py“.

aus Datensätze importieren Load_Dataset

# Schritt 1: Laden Sie den Datensatz
Datensatz = Load_Dataset ( „imdb“ )

# Schritt 2: Definieren Sie die Filterfunktion
def benutzerdefinierte Filter ( Beispiel ) :
„““
Eine benutzerdefinierte Filterfunktion, um positive Beispiele beizubehalten
Stimmung (Label == 1).
„““

zurückkehren Beispiel [ 'Etikett' ] == 1

# Schritt 3: Wenden Sie den Filter an, um einen neuen gefilterten Datensatz zu erstellen
gefilterter_Datensatz = Datensatz. Filter ( benutzerdefinierte Filter )

# Schritt 4: Überprüfen Sie die verfügbaren Spaltennamen im gefilterten Datensatz
drucken ( „Verfügbare Spalten im gefilterten Datensatz:“ ,
gefilterter_Datensatz. Spaltennamen )

# Schritt 5: Zugriff auf Informationen aus dem gefilterten Datensatz
gefilterte_Beispiele = gefilterter_Datensatz [ 'Zug' ]
num_filtered_examples = nur ( gefilterte_Beispiele )

# Schritt 6: Drucken Sie die Gesamtzahl der gefilterten Beispiele aus
drucken ( „Gefilterte Beispiele insgesamt:“ , num_filtered_examples )

Ausgabe:



Erläuterung:

Zeile 1: Wir importieren das erforderliche Paket „load_dataset“ aus den Datensätzen.

Zeile 4: Wir laden den „imdb“-Datensatz mit dem Load_dataset.

Zeilen 7 bis 12: Wir definieren die benutzerdefinierte Filterfunktion benutzerdefinierte Filter um die Beispiele mit positiver Stimmung beizubehalten (Label == 1). Diese Funktion gibt nur die Zeilen zurück, deren Beschriftungswert 1 ist.

Zeile 15: Diese Zeile zeigt, dass der Datensatz die Filmrezensionsdaten „imdb“ enthält. Wir wenden nun die Filterfunktion auf diese Datenbank an, um die positiven Bewertungen aus der Datenbank zu trennen, die weiter im „filtered_dataset“ gespeichert wird.

Zeilen 18 und 19: Jetzt prüfen wir, welche Spaltennamen im filtered_dataset verfügbar sind. Der Code „filtered_dataset.column_names“ liefert also die Details unserer Anforderungen.

Zeilen 22 und 23: In diesen Zeilen filtern wir die „Train“-Spalte des filtered_dataset und geben die Gesamtzahl (Länge) der Train-Spalte aus.

Zeile 26: In dieser letzten Zeile drucken wir das Ergebnis aus Zeile Nummer 23.

Filter() mit Indizes

Die filter()-Methode kann auch mit Indizes verwendet werden, wie im select()-Modus zu sehen ist. Dafür müssen wir jedoch erwähnen, dass das Schlüsselwort „with_indices=true“ außerhalb der filter()-Methode angegeben werden muss, wie im folgenden Beispiel gezeigt:

odd_dataset = Datensatz. Filter ( Lambda Beispiel , idx: idx % 2 != 0 , with_indices = WAHR )

drucken ( nur ( odd_dataset ) )

In diesem Beispiel haben wir die Methode filter() verwendet, um die erforderlichen Informationen aus dem Datensatz zu filtern, einschließlich nur der ungeraden Zeilen.

Die vollständigen Details zu jedem Parameter der filter()-Methode finden Sie hier Verknüpfung .

Abschluss

Die Hugging Face-Datensatzbibliothek bietet ein leistungsstarkes und benutzerfreundliches Toolset für die effiziente Arbeit mit verschiedenen Datensätzen, insbesondere im Kontext von Natural Language Processing (NLP) und maschinellen Lernaufgaben. Die im Programm vorgestellte Funktion filter() ermöglicht es Forschern und Praktikern, relevante Teilmengen von Daten zu extrahieren, indem sie die benutzerdefinierten Filterkriterien definieren. Mithilfe dieser Funktionalität können Benutzer mühelos neue Datensätze erstellen, die bestimmte Bedingungen erfüllen, z. B. die Aufrechterhaltung einer positiven Stimmung in Filmkritiken oder die Extraktion bestimmter Textdaten.

Diese Schritt-für-Schritt-Demonstration zeigt, wie einfach es ist, einen Datensatz zu laden, die benutzerdefinierten Filterfunktionen anzuwenden und auf die gefilterten Daten zuzugreifen. Darüber hinaus ermöglicht die Flexibilität der Funktionsparameter benutzerdefinierte Filtervorgänge, einschließlich der Unterstützung der Mehrfachverarbeitung für große Datensätze. Mit der Hugging Face-Datensatzbibliothek können Benutzer ihre Daten optimieren.