CSV への変換

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

データ入力をコンマ区切り値形式に変換します

カテゴリ: データ形式の変換

Note

適用対象: Machine Learning Studio (クラシック) のみ

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

モジュールの概要

この記事では、Machine Learning Studio (クラシック) の CSV に変換モジュールを使用して、Azure ML からデータセットをダウンロード、エクスポート、または R または Python スクリプト モジュールと共有できる CSV 形式に変換する方法について説明します。

CSV 形式の詳細

"comma-separated values (コンマ区切り値)" の略である CSV 形式は、多くの外部機械学習ツールで使用されるファイル形式です。 Machine Learningで使用されるネイティブ データセット形式は .NET データテーブルに基づいているため、.NET ライブラリで読み取ることができますが、CSV は R や Python などのオープンソース言語を操作する場合に一般的なインターチェンジ形式です。

Machine Learning Studio (クラシック) でほとんどの作業を行った場合でも、データセットを CSV に変換して外部ツールで使用すると便利な場合があります。 次に例を示します。

  • CSV ファイルをダウンロードして Excel で開いたり、リレーショナル データベースにインポートしたりします。
  • CSV ファイルをクラウド ストレージに保存し、Power BI からそれに接続して視覚エフェクトを作成します。
  • CSV 形式を使用して、R や Python で使用するためにデータを準備します。 モジュールの出力を右クリックするだけで、Python または Jupyter ノートブックからデータに直接アクセスするために必要なコードが生成されます。

データセットを CSV に変換すると、ファイルは Azure ML ワークスペースに保存されます。 Azure ストレージ ユーティリティを使ってファイルを直接開いて使用することも、モジュールの出力を右クリックしてコンピューターに CSV ファイルをダウンロードするか、R または Python のコードで使用することもできます。

CSV への変換を構成する方法

  1. CSV への変換モジュールを実験に追加します。 このモジュールは、Studio (クラシック) の [データ形式変換 ] グループにあります。

  2. データセットを出力する任意のモジュールに、それを接続します。

  3. 実験を実行するか、[ CSV に変換 ] モジュールをクリックし、[ 実行] をクリックします

結果

CSV への変換の出力をダブルクリックして、以下のオプションのいずれかを選択します。

  • ダウンロード: データのコピーを CSV 形式ですぐに開き、ローカル フォルダーに保存できます。 フォルダーを指定しないと、既定のファイル名が適用されて、CSV ファイルはローカル環境のダウンロード ライブラリに保存されます。

    [データセットの ダウンロード] を選択した場合は、データセットを開くか、ローカル ファイルに保存するかを指定する必要があります。

    [開く] を選択すると、既定で.CSV ファイルに関連付けられているアプリケーション (たとえば、Microsoft Excel) を使用してデータセットが読み込まれます。

    [データセットの ダウンロード] を選択した場合、既定では、ファイルはモジュールの名前とワークスペース ID を表す GUID で保存されます。 ただし、ダウンロード時に [名前を付けて保存] オプションを選択し、ファイル名または場所を変更できます。

  • データセットとして保存: CSV ファイルを別のデータセットとして Azure ML ワークスペースに保存します。

  • データ アクセス コードの生成: Azure ML では、Python または R を使用してデータにアクセスするための 2 つのコード セットが生成されます。データにアクセスするには、コード スニペットをアプリケーションにコピーします。

  • 新しいノートブックで開く: 新しい Jupyter Notebook が自動的に作成され、任意の言語 (Python 2、Python 3、または R と Microsoft R Open) を使用して、ワークスペースからデータを読み取るためのコードが挿入されます。

    たとえば、R オプションを選択した場合、CSV ファイルをデータ フレームに読み込み、関数を使用して最初の数行を表示するサンプル R コードが head 提供されます。

テクニカル ノート

このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。

CSV 形式の要件

CSV ファイル形式は、多くの機械学習フレームワークでサポートされている一般的な形式です。 この形式は、"コンマ区切り値" または "文字区切り値" と呼ばれます。

CSV ファイルは、表形式データ (数値と文字列) をプレーンテキスト形式で格納します。 CSV ファイルは、何かの改行で区切られた任意の数のレコードで構成されます。 各レコードはフィールドで構成され、リテラルコンマで区切られます。 一部のリージョンでは、区切り記号がセミコロンである可能性があります。

通常、すべてのレコードには同じ数のフィールドがあり、欠損値は null または空の文字列として表されます。

ヒント

Excel、Access、またはリレーショナル データベースから CSV ファイルにデータを簡単にエクスポートして、Machine Learningで使用できます。 通常、ファイル名には.CSV拡張子がありますが、Machine Learningデータを CSV としてインポートする場合は、このファイル名拡張子が存在する必要はありません。 XLSX、TXT、およびその他のファイルは CSV としてインポートできます。 ただし、ファイル内のフィールドは前のセクションで説明したように書式設定する必要があり、ファイルでは UTF-8 エンコードを使用する必要があります。

一般的な質問と問題

このセクションでは、既知の問題、一般的な質問、CSV への変換 モジュールに固有の回避策について説明します。

ヘッダーは 1 行にする必要があります

Machine Learningで使用される CSV ファイル形式では、1 つのヘッダー行がサポートされます。 複数行のヘッダーを挿入することはできません。

インポートでサポートされているがエクスポートではサポートされていないカスタム区切り記号

CSV への変換モジュールでは、セミコロン (;)など、ヨーロッパでよく使用される代替列区切り記号の生成はサポートされていません。

ただし、外部ストレージ内の CSV ファイルからデータをインポートする場合は、別の区切り記号を指定できます。 [ データのインポート ] モジュールで、[ エンコード付きの CSV ] オプションを選択し、サポートされているエンコードを選択します。

コンマを含む文字列データに対する不正確な列の分離

テキスト処理では、列区切り記号 (タブ、スペース、コンマなど) として指定できるほぼすべての文字が、テキスト フィールドでもランダムに見つかるという一般的な問題です。 CSV からテキストをインポートするには、不要な新しい列間でテキストを分離しないように注意する必要があります。

コンマを含む文字列データの列をエクスポートしようとすると、問題が発生する可能性もあります。 Machine Learningでは、文字列を引用符で囲むなど、このようなデータの特別な処理や特別な翻訳はサポートされていません。 また、コンマの前にエスケープ文字を使用して、コンマがリテラル文字として処理されるようにすることはできません。

したがって、文字列フィールドで検出されたコンマごとに、出力ファイルに新しいフィールドが作成されます。 この問題を回避するには、いくつかの回避策があります。

UTF-8 エンコードが必要

CSV に変換モジュールは、UTF-8 文字エンコーディングのみをサポートします。 別のエンコードを使用してデータをエクスポートする必要がある場合は、 R スクリプトの実行 モジュールまたは Python スクリプトの実行 モジュールを使用してカスタム出力を生成できます。

データセットに列名がない

CSV ファイルにエクスポートするデータセットに列名がない場合は、 メタデータの編集 を使用して列名を追加してから変換することをお勧めします。 変換またはエクスポートプロセスの一部として列名を追加することはできません。

SYLK: ファイル形式が無効です

CSV に変換するデータセットの最初の列に名前 ID が含まれている場合は、Excelでファイルを開こうとすると、次のエラーが発生する可能性があります。

"SYLK: ファイル形式が無効です。

このエラーを回避するには、列の名前を変更する必要があります。

CSV からのインポートに関するヘルプが必要です

インポートの場合は、[ CSV にエクスポート] モジュールを 使用しないでください。 代わりに、データの インポート モジュールを使用します。

CSV からのインポートに関する一般的な情報については、次のリソースを参照してください。

想定される入力

名前 Type 説明
データセット データ テーブル 入力データセット

出力

名前 Type 説明
結果のデータセット GenericCsv 出力データセット

関連項目

データ形式の変換
モジュールの一覧 (アルファベット順)