lucieツールでデータセットアクセスを改善する
新しいツールは、UCIリポジトリからのデータセットインポートを簡素化することを目指している。
Kenneth Ge, P. Nguyen, R. Arnaout
― 1 分で読む
データセットへのアクセスは、さまざまな分野の機械学習研究の進展にとって重要だよね。UCI機械学習リポジトリは、機械学習データセットの中でも人気のあるソースの一つだけど、ここにあるデータセットの多くは古くて、標準のツールを使って簡単にインポートできないフォーマットになってる。
UCIデータセットの課題
多くのUCIデータセットには、フィールドが欠けてたり、ヘッダーがなかったり、非標準のデータフォーマットがあったりする問題があるんだ。リポジトリ内の人気100データセットの中で、16個は標準ツールでインポートできないんだって。あまり人気のないデータセットだと、インポートできない数はもっと増える。これは、扱いやすいデータセットの方がよくダウンロードされるからだろうね。
UCIからの一部のデータセットはクリーンアップされて、KaggleやGitHubなどの他のプラットフォームでも入手できるけど、インポートできないデータセットのほとんどはまだクリーンバージョンがない。これらのデータセットを他のサイトからインポートするのは、手動でチェックする必要があって、時間がかかるから、1つの主要なリポジトリがある意味が薄れちゃう。
問題のあるデータセットに関する観察
これらのデータセットを扱ってると、問題のあるデータセットの多くが、フォーマットは違っても構造に共通のパターンがあることに気づいたんだ。そこで、これらのパターンを特定して、「load UCI examples」の略である「lucie」というツールを開発した。このツールは、以前はアクセスが難しかったデータセットをインポートする手助けをすることを目的としてる。
lucieの使い方
lucieは標準のUCIツールと似たインターフェースを使ってるけど、データフォーマットを推測できるから、以前は問題だったデータセットをインポートできるようにしてる。人気のあるPythonライブラリであるpandasで使えるフォーマットにデータを変換しようとするよ。
まず、UCIツールをインストールして、どのデータセットがうまくインポートできるかをチェックした。人気100データセットの中で、16個がインポートできないことがわかった。それらをダウンロードして構造を見てみると、いくつかのタイプがあることに気づいた。共通のフォーマットで表形式のデータが含まれているものもあれば、不規則なフォーマットやネストされたアーカイブのものもあったよ。
インポートアルゴリズムの開発
lucieのインポートアルゴリズムは、エラーを減らしつつ柔軟性を持たせるために作られたんだ。特定したファイルを表形式データとしてリストする辞書を生成するよ。もし表形式データが見つからなかったら、ファイルのディレクトリ構造を返すの。
アルゴリズムの最初のステップは、データセットがすでに標準ツールでインポートできるかをチェックすること。できるなら結果を返すし、できないならUCIサイトをスクレイピングしてデータセットアーカイブのダウンロードリンクを探すよ。
データセットに不規則なフォーマットが含まれている場合、lucieは他のプラットフォームで入手できるクリーンバージョンを使う。もしクリーンバージョンがない場合は、まずは.csvや.xlsxのような明確なデータフォーマットのファイルを探すんだ。
表形式のファイルが見つからなかったら、lucieはネストされたアーカイブをチェックして、そこからデータを抽出しようとする。もしそれもダメなら、テキストファイルを調べて、表として解釈できるかどうかを見るよ。アルゴリズムは、拡張子のないファイルも確認するけど、エラーを避けるために慎重に扱うんだ。
lucieのテスト
lucieを人気100データセットに対してテストして、どれだけうまく動くかを見たよ。すべてのデータセットで成功したけど、標準のUCIツールは84個しかインポートできなかった。その後、101〜250位の他のデータセットをチェックして、lucieがどれだけインポートできるかを標準ツールと比較したんだ。
壊れたリンクやサイズが大きすぎるデータセットを除いた結果、lucieは残りの130のデータセットのうち124個をインポートできた。これは、標準ツールがそのうちの95個しか成功しなかったことを考えると、かなりの改善だね。
コードとメンテナンス
プロジェクトにはテストスクリプトを含めて、lucieがさまざまなデータセットタイプで正しく動作することを確認してる。目標は、新しい機能を追加しつつ、高いコード品質を維持することだよ。
機械学習や関連分野の成功は、高品質なデータセットの研究やテストに対する入手可能性に大きく依存してる。UCIリポジトリはこの重要な役割を果たしているけど、これらのデータセットを簡単にインポートできる能力も同じくらい重要だね。データセットの性質が多様だから、標準のインポートプロセスには問題が多いけど、lucieのようなツールがその解決に役立つかも。
将来の方向性
インポート率をさらに改善するためには、もっと多くのデータフォーマットへのサポートを追加する必要があるよ。たとえば、特定のファイルタイプをより良く扱うことができれば違いが出るだろうね。未来の調査では、lucieがすべての関連ファイルをキャッチして、誤解しないようにデータセットをもっと詳しく見ていく必要もあるかな。
UCIリポジトリに新しいデータセットが継続的に追加される中で、lucieのコードを維持することも重要だね。このツールはオープンソースだから、コミュニティからの貢献や更新があって、効果的に機能し続けられる。ツールの改善に興味がある人や問題を解決したい人は、リポジトリを通じて貢献できるよ。
結論
要するに、データセットを簡単にアクセスできることは、機械学習研究にとって重要なんだ。lucieのようなツールの開発は、UCIのリポジトリからデータセットをインポートする際の問題を解決するための第一歩を表してる。lucieの現在のデータセットインポートの成功は未来への期待を示していて、研究者たちがどこでもデータにアクセスしやすくするための継続的な取り組みが必要だってことを強調してる。
タイトル: lucie: An Improved Python Package for Loading Datasets from the UCI Machine Learning Repository
概要: The University of California-Irvine (UCI) Machine Learning (ML) Repository (UCIMLR) is consistently cited as one of the most popular dataset repositories, hosting hundreds of high-impact datasets. However, a significant portion, including 28.4% of the top 250, cannot be imported via the ucimlrepo package that is provided and recommended by the UCIMLR website. Instead, they are hosted as .zip files, containing nonstandard formats that are difficult to import without additional ad hoc processing. To address this issue, here we present lucie--load University California Irvine examples--a utility that automatically determines the data format and imports many of these previously non-importable datasets, while preserving as much of a tabular data structure as possible. lucie was designed using the top 100 most popular datasets and benchmarked on the next 130, where it resulted in a success rate of 95.4% vs. 73.1% for ucimlrepo. lucie is available as a Python package on PyPI with 98% code coverage.
著者: Kenneth Ge, P. Nguyen, R. Arnaout
最終更新: 2024-10-21 00:00:00
言語: English
ソースURL: https://www.biorxiv.org/content/10.1101/2024.10.18.618994
ソースPDF: https://www.biorxiv.org/content/10.1101/2024.10.18.618994.full.pdf
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた biorxiv に感謝します。