最終更新日:
Pandey氏は、データの取得あるいは作成の方法として以下のような8項目を紹介しています。
データサイエンスプロジェクトで活用するデータセットを入手あるいは作成する8つの方法
|
以上の方法を活用するにあたっては、データサイエンスプロジェクトの特徴やデータサイエンスチームのスキルレベルを考慮したうえで最適なものを選ぶとよいでしょう。
なお、以下の記事本文はParul Pandey氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。また、翻訳記事の内容は同氏の見解であり、特定の国や地域ならびに組織や団体を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。
以下の翻訳記事を作成するにあたっては、日本語の文章として読み易くするために、意訳やコンテクストを明確にするための補足を行っています。
目次
ニーズに合ったデータセットを探すためのリソース
これまで(Mediumに投稿するために)書いてきた記事のリストを見ていると、データサイエンスタスクのためのデータセットを入手するというコンセプトに関連するものがかなりあることがわかった。そんな記事には良いデータセットを公開しているウェブサイトを見つけることに的を絞ったものもあれば、カスタムデータセットを作成する方法に注目したものもある。この記事は、さまざまな記事で取り上げた多種多様な(データセットを入手するための)コンセプトをまとめたものだ。元の記事のリンクをたどりながら、複数の(データセット入手に関する)テクニックをまとめたものと考えられる。
・・・
1.高度なGoogle検索
データセットを検索する方法として、Google検索は圧倒的に一般的だ。しかし、検索クエリをカスタマイズすることで正確な結果を得られ、それもより速くできることをご存じだっただろうか。以下の記事では、インターネット上での検索を最適化する3つの方法が見れる。
リンク:高度なGoogle検索
データセット検索に使えるGoogle検索の高度なテクニック
|
以上のほかにもGoogle検索ヘルプページ『ウェブ検索の精度を高める』にさまざまな検索演算子が掲載されている。また、レンタルサーバー企業Kinstaが運営するブログの記事『Google検索の便利なコマンド40選─2022年に知らなきゃ損の検索演算子(調査、競合分析、SEOに便利)』にも検索演算子が詳細に解説されている。
・・・
2.データ分析タスクのためのデータセットを探すのに便利なサイト
Google検索は素晴らしいが、良質なデータセットを保有する専門サイトもある。以下の記事では、そのようなデータセット(を集めたサイト)を5つリストアップし、アクセス方法を動画で詳しく説明している。ご心配なさらずともUCI Machine Learning Repository、Kaggle datasets、Data.govのような一般的なものは除外し、あまり知られていないものを紹介している。
リンク:データ分析タスクに必要なデータセットを探すのに便利なサイト
データセットの取得に役立つ5つのサイト
|
・・・
3.探索的データ分析のスキルを磨くための5つの現実世界のデータセット
データセットを探さずにすぐに分析に入りたい場合は、この記事が役に立つだろう。理想的な探索的データ分析と可視化を行うのに理想的な5つのデータセットを挙げた。給与データセットや臨床試験レポート、あるいは航空交通データなどを分析できる。嬉しいことにこれらのデータセットのすべてがKaggleで利用可能であるため、ノートブックを動かすだけで始められる。
リンク:探索的データ分析のスキルを磨くための5つの現実世界のデータセット
探索的データ分析のスキルを磨くための5つの現実世界データセット
|
・・・
4.カスタム画像データセットの作成
もしあなたがディープラーニングに取り組んでいて、データセットを使ったプロジェクトに取り組みたいなら、この記事では画像の一括ダウンロードをかなり簡単にする5つのブラウザ拡張機能を紹介している。ただし、著作権に違反するような画像はダウンロードしないように注意しよう。
リンク:カスタム画像データセットの作成
画像をダウンロードするのに便利な5つのツール
|
・・・
5.HTMLの表からデータを抽出する
インターネット上で公開されているデータセットは、時としてHTMLの表形式で提供されている。そのような表は一般的に長く、ウェブページ全体に広がっていたりする。また、HTMLフォームで利用可能なデータは動的である。すなわち、一定の間隔でデータが更新されている。その結果、(HTMLの表を)Excelシートにコピーペーストすることは必ずしも便利というわけでない。スクレイピングという手もあるが、もっと簡単な方法がある。GoogleスプレットシートにはIMPORTHTMLという便利な関数があり、この関数はHTMLページ内のテーブルやリストからデータを取り込むのに最適だ。以下の記事では、テーブル(とリスト)をGoogleスプレットシートに取り込むためのエンドツーエンドのプロセスについて説明している。
リンク:GoogleスプレットシートにHTMLテーブルを簡単にインポートする方法
・・・
6.PDFからデータを抽出する
PDFから表形式のデータを抽出するのは骨が折れる。しかし、さらに大きな問題は多くのオープンデータがPDFファイルとして提供されていることだ。こうしたオープンデータは、分析して重要な洞察を得るのに非常に重要なものである。だが、PDFに記載されたデータにアクセスすることがボトルネックになる。この記事では、PDFから簡単に表を抽出できるオープンソースのPythonライブラリ、Camelotについて説明する。また、コーディングはしたくないがライブラリの機能は使いたいという人のために、ExcaliburというWebインターフェースについても説明する。
リンク:Camelotを使ってPDFから表形式データを簡単に抽出
Excaliburについては、PyPIのこちらのページを参照のこと。また、ITソリューションを基幹業務とする株式会社オプティムのエンジニアブログ「OPTiM TECH BLOG」の記事『ExcaliburによるPDFテーブルデータ抽出を動かしてみる』にExcaliburの使用事例が紹介されている。
この記事の著者Parul Pandey氏のYouTubeチャンネルには、以下のようなExcaliburを使用した時の動画が公開されている。
・・・
7.XMLファイルからの情報抽出
以上のように私たちは、HTMLの表やPDFファイルの形式でデータを扱うことを学んだ。さらにもう1つ、利用する前に加工が必要な形式としてXMLファイルというデータカテゴリーがある。XMLとは、Extensible Markup Language(拡張可能なマークアップ言語)の略である。その名の通り、機械が読める形式と人間が読める形式で、一連のルールを定義して文書をエンコードするマークアップ言語である。この記事では、XMLデータを解析可能なCSVファイルに変換してから、pandasのライブラリに取り込んでさらに解析するための手順を説明する。
リンク:XMLファイルからPandasのDataFrameに情報を抽出する
・・・
8.クリップボードからpandasのDataFrameにデータを読み込む
この記事は、pandasのread_clipboard()メソッドという非常に興味深い関数が、クリップボードにコピーされたデータからDataFrameを作成することについて書いている。 このメソッドはクリップボードからテキストを読み込んでread_csv()に渡し、パースされたDataFrameオブジェクトを返すのだ。
リンク:Pandasを使ってクリップボードからDataFrameへ
・・・
結論
この記事では、データセットをダウンロードするための複数の技法を紹介している。これらの技法のいくつかは、あなたが次のプロジェクトで冒険するのに必要なデータセットを見つけるのに役に立つはずだ。また、自分でデータセットを作成したり、ダウンロードしたデータから意味のある分析を行ったりもできる。データセットの可能性は青天井なのだ!
原文
『Different ways of getting datasets for your data science tasks』
著者
Parul Pandey
翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)
編集
おざけん