データの手動入力

値を入力することで小規模なデータセットへの入力と編集ができるようにします

カテゴリ: データ変換/操作

注意

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

このコンテンツは、Studio (クラシック) のみに関連しています。 Azure Machine Learning デザイナーに同様のドラッグアンドドロップモジュールが追加されました。 この記事では、2つのバージョンの比較について詳しく説明します。

モジュールの概要

この記事では、Azure Machine Learning Studio (クラシック) の [ データの手動入力 ] モジュールを使用して、値を入力することによって小規模なデータセットを作成する方法について説明します。 データセットには、複数の列を含めることができます。

このモジュールは、次のような用途に使用できます。

  • テスト用に少数の値のセットを生成する

  • ラベルの簡単なリストを作成する

  • 算術演算の適用で使用する値を入力する

  • 不連続値の置換に使用する置換値の指定

  • データセットに挿入する列名のリストを入力する

データを手動で入力する方法

  1. データの手動入力モジュールを実験に追加します。 このモジュールは、Azure Machine Learning Studio (クラシック) の [ データ入力と出力 ] カテゴリで確認できます。

  2. [DataFormat] で、次のいずれかのオプションを選択します。 指定したデータの解析方法は、これらのオプションによって決まります。 それぞれの形式で要件が大きく異なるため、関連するトピックに必ず目を通してください。

    • Arff。 Attribute-Relation File Format の略。Weka で使用されます。 詳細については、「 ARFF への変換」を参照してください。

    • CSV。 コンマ区切り値形式。 詳細については、「Convert to CSV (CSV への変換)」を参照してください。

    • Svmlight。 Vowpal Wabbit などの機械学習フレームワークで使用される形式。 詳細については、「 SVMLight への変換」を参照してください。

    • TSV。 タブ区切り値形式。 詳細については、「 TSV への変換」を参照してください。

    形式を選択したにもかかわらず、その形式の仕様を満たしたデータを入力しなかった場合、実行時エラーが発生します。

  3. [Data](データ) ボックス内をクリックして、データの入力を開始します。 次の形式には、特別な注意が必要です。

    • CSV: 複数の列を作成するには、コンマ区切りのテキストを貼り付けるか、フィールド間のコンマを使用して複数の列を入力します。

      HasHeader オプションをオンにすると、値の先頭行を列見出しとして使用できます。

      このオプションの選択を解除すると、列名、Col1、Col2 などが使用されます。 列名は、後から [メタデータの編集] を使用して追加したり変更したりできます。

    • TSV: 複数の列を作成するには、タブ区切りのテキストを貼り付けるか、フィールド間のタブを使用して複数の列を入力します。

      HasHeader オプションをオンにすると、値の先頭行を列見出しとして使用できます。

      このオプションの選択を解除すると、列名、Col1、Col2 などが使用されます。 列名は、後から [メタデータの編集] を使用して追加したり変更したりできます。

    • Arff: 既存の arff フォーマットファイルを貼り付けます。 値を直接入力する場合は、データの先頭にヘッダー (省略可能) と必須の属性フィールドを追加してください。

      たとえば、単純なリストに次のヘッダーと属性行を追加できます。 この場合、列見出しは SampleText となります。

      % Title: SampleText.ARFF  
      % Source: Enter Data module  
      @ATTRIBUTE SampleText STRING  
      @DATA  
      \<type first data row here>  
      
    • Svmlight: svmlight 形式を使用して値を入力または貼り付けます。

      たとえば次のサンプルは、SVMight 形式の献血データセットの最初の 2 行を表したものです。

      # features are [Recency], [Frequency], [Monetary], [Time]  
      1 1:2 2:50 3:12500 4:98   
      1 1:0 2:13 3:3250 4:28   
      

      データの手動入力モジュールを実行すると、これらの行が列とインデックス値のデータセットに変換されます。その例を次に示します。

      Col1 Col2 Col3 Col4 ラベル
      0.00016 0.004 0.999961 0.00784 1
      0 0.004 0.999955 0.008615 1
  4. それぞれの行の後に Enter キーを押して改行します。

    最後の行の後で必ず Enter キーを押してください。

    複数回 Enter キーを押して空の後続行を複数追加した場合、最後の空行は削除されてトリミングされますが、他の空行は欠損値として扱われます。

    欠損値を含んだ行を作成した場合、それらの行は、後からいつでもフィルターで除去できます。

  5. モジュールを右クリックし、[Run selected](選択項目の実行) を選択すると、データが解析されて、データセットとしてワークスペースに読み込まれます。

    データセットを表示するには、出力ポートをクリックして [Visualize](可視化) を選択します。

使用例

機械学習でこのモジュールを使用する方法の例については、 Azure AI Galleryを参照してください。

  • データのダウンロードサンプル: UCI Machine Learning リポジトリからデータを取得し、[ データの手動入力 ] を使用して列名を作成します。 サンプルの R コードも用意されているので、それを使用して、入力した値とデータセットをマージできます。

テクニカル ノート

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

  • 保存された形式に関係なく、入力したデータは実験で使用するためにデータセット (データテーブル) 形式に暗黙的に変換されます。 ただし、[データ セットとして保存 ] オプションを明示的に選択しない限り、データは保存されたデータセットとして保持されません。

    データをデータセットとして入力するデータを 手動 で保存しないと、セッションの終了時にワークスペースキャッシュから削除されます。 ただし、実験を再度実行してデータを使用できるようにすることができます。

  • データ を入力 したデータを別のデータセットと組み合わせる場合、結合されたデータセットに同じ名前の2つの列を含めることはできません。 重複する列名がある場合は、列名が一意になるように、右側のデータセットの列に数字のサフィックスが付加されます。

    たとえば、 TestData 列を含む データを手動で入力するのインスタンスが2つあり、列の追加モジュールを使用してそれらをマージしているとします。 [ データを手動で入力 ] の左側のインスタンスの列は、 TestData として残ります。また、[ データを手動で入力 ] の右側のインスタンスの列は、 TestData (2) という名前に変更されます。

関連項目

データの入力と出力
モジュールの一覧 (アルファベット順)