ハグフェイス Filter() メソッド

Hagufeisu Filter Mesoddo



Hugging Face には、いくつかの自然言語処理 (NLP) モデルとデータセットがあります。これらの巨大なデータセットには、モデルを正確にトレーニングするのに役立つ多くの情報が含まれています。ただし、現在のニーズを満たすために必要なのはデータセットのほんの一部だけであるため、データセット全体が必要ない場合もあります。すべての情報を含む通常と同じデータセットを使用したい場合、モデルのトレーニングと最適化に多くの時間がかかり、時間の無駄になります。

したがって、データセットから関連情報を抽出できる何らかのメソッドまたはパッケージが必要です。簡単に言うと、要件に従ってデータセットをフィルタリングするための追加のフィルタ オプションが必要であると言えます。

Hugging Face には、データセットをフィルタリングするためのさまざまなオプションが用意されており、ユーザーは特定の条件を満たす例や情報のみを含むカスタマイズされたデータセットを作成できます。







Select() メソッド

このメソッドはインデックスのリストに対して機能します。つまり、リストを定義する必要があります。そのリスト内で、抽出したいすべての行のインデックス値を言及する必要があります。ただし、この方法は小規模なデータセットにのみ機能し、巨大なデータセットには機能しません。データセットが GB (ギガ バイト) または TB (テラ バイト) 単位の場合は全体を確認できないためです。



:

新しいデータセット = データセット。 選択する ( [ 0 十一 21 4.5 50 55 ]

印刷する ( のみ ( 新しいデータセット

この例では、「選択」メソッドを使用して、データセットから必要な情報をフィルタリングしました。



Filter() メソッド

filter() メソッドには、特定の条件がないため、select() プロセスの問題が解決されます。 filter() メソッドは、特定の状況または条件に一致するすべての行を返します。





例: この Python プログラムを「test.py」という名前で保存します。

から データセット 輸入 ロードデータセット

# ステップ 1: データセットをロードする
データセット = ロードデータセット ( 「imdb」

# ステップ 2: フィルタリング関数を定義する
確かに カスタムフィルター ( ) :
「」
ポジティブな例を保持するためのカスタム フィルタリング関数
センチメント (ラベル == 1)。
「」

戻る [ 'ラベル' ] == 1

# ステップ 3: フィルターを適用して新しいフィルター済みデータセットを作成する
フィルターされたデータセット = データセット。 フィルター ( カスタムフィルター )

# ステップ 4: フィルタリングされたデータセットで使用可能な列名を確認する
印刷する ( 'フィルタリングされたデータセットで利用可能な列:'
フィルターされたデータセット。 列名 )

# ステップ 5: フィルタリングされたデータセットからの情報にアクセスする
フィルタされた例 = フィルターされたデータセット [ '電車' ]
num_filtered_examples = のみ ( フィルタされた例 )

# ステップ 6: フィルタリングされた例の総数を出力する
印刷する ( 「フィルタリングされた例の合計:」 num_filtered_examples )

出力:



説明:

行 1: 必要なload_dataset パッケージをデータセットからインポートします。

4 行目:load_dataset を使用して「imdb」データセットをロードします。

7行目から12行目: カスタムフィルタリング関数を定義します。 カスタムフィルター ポジティブな感情を持つ例を保持するため (ラベル == 1)。この関数は、ラベル値が 1 である行のみを返します。

行 15: この行は、データセットに「imdb」映画レビュー データがあることを示しています。次に、フィルター関数をこのデータベースに適用して、肯定的なレビューをデータベースから分離し、さらに「filtered_dataset」に保存します。

18 行目と 19 行目: 次に、filtered_dataset で使用できる列名を確認します。したがって、「filtered_dataset.column_names」コードは要件の詳細を提供します。

22行目と23行目: これらの行では、filtered_dataset の「train」列をフィルターし、train 列の合計数 (長さ) を出力します。

行 26: この最後の行では、行番号 23 の結果を出力します。

Filter() とインデックス

select() モードで見られるように、filter() メソッドはインデックスとともに使用することもできます。ただし、そのためには、次の例に示すように、「with_indices=true」キーワードを filter() メソッドの外側で指定する必要があることに注意する必要があります。

奇数データセット = データセット。 フィルター ( ラムダ idx: idx % 2 != 0 with_indexs = 真実 )

印刷する ( のみ ( 奇数データセット ) )

この例では、filter() メソッドを使用して、奇数の行のみを含む、データセットから必要な情報をフィルター処理しました。

filter() メソッドの各パラメータの完全な詳細は、次の場所にあります。 リンク

結論

Hugging Face データセット ライブラリは、特に自然言語処理 (NLP) および機械学習タスクのコンテキストで、さまざまなデータセットを効率的に操作するための強力でユーザー フレンドリーなツールセットを提供します。プログラム内で提供される filter() 関数を使用すると、研究者や専門家は、ユーザー定義のフィルタリング基準を定義することによって、データの関連するサブセットを抽出できます。この機能を使用すると、ユーザーは、映画レビューでポジティブな感情を維持したり、特定のテキスト データを抽出したりするなど、特定の条件を満たす新しいデータセットを簡単に作成できます。

このステップバイステップのデモでは、データセットの読み込み、カスタム フィルター関数の適用、フィルター処理されたデータへのアクセスがいかに簡単であるかを示します。さらに、関数パラメーターの柔軟性により、大規模なデータ セットの複数処理のサポートなどのカスタム フィルター操作が可能になります。 Hugging Face データセット ライブラリを使用すると、ユーザーはデータを合理化できます。