Azure Machine Learning Studio でデータセットをマージする

ちょっと調べたらまとめている文書がなかったので備忘録的に。

Azure Machine Learning Studio

Azure Machine Learning Studio はデータサイエンティストでなくともノンコーディング機械学習のモデル作成、トレーニング、Web API公開まで簡単にできるサービスです。

azure.microsoft.com

データセットのインポートもローカルからのインポートからAzure 各種サービスからの連携まで様々取り揃えているのですが、

docs.microsoft.com

複数のファイル(csvなど)を取り込みたいケースってありますよね?

方法は大きく2つあります。

 

1.そもそものCSVファイルを結合して1つのファイルでアップロードする。

Azure Machine Learning Studioにアップロードする前に、前処理をして一つのファイルに結合しておくというやり方があるかと思います。

ただし、データのアップロードサイズには制限がありますので、数GBを超えるようなデータセットはローカルファイルからではなく、Azure StorageやAzure SQL DB、Azure HDInsightを使っていただく必要があります。

  参考:https://docs.microsoft.com/ja-jp/azure/machine-learning/studio/faq

 

2.別々に上げたファイルをAdd Rowモジュールで結合する。

2つのデータセットを結合するモジュールがあります。

ですので、ファイルは別々に+Newでアップロードしていただき、アップロードされたデータセットをStudioにドラッグアンドドロップで持っていき、Add Rowモジュールで結合するというやり方となります。

やってみましょう。

・事前にcsvファイルを2つアップロードしておきます。

・それぞれのcsvファイルをMyDatasetから選択し、ドラッグアンドドロップでExperimentエリアに配置しておきます。

・左側の検索フィールドで「Add Rows」を入力し、「Add Rows」モジュールをドラッグアンドドロップでExperimentエリアに配置します。

・配置したデータセットと「Add Rows」モジュールを繋ぎます。

・Runボタンで実行します。

※列が同一でないとエラーになるので注意!

f:id:minorun40:20171226141527p:plain

そうすると、二つのデータセットの行がマージされて一つのデータセットになります。

f:id:minorun40:20171226141930p:plain

f:id:minorun40:20171226141947p:plain

f:id:minorun40:20171226142034p:plain

 

ご参考  https://msdn.microsoft.com/library/en-us/Dn905871.aspx

 

このように、Azure Machine Learning Studio だけでも簡単にデータセットを結合することができます。

 

ただし、この方法は2つのデータセットしか結合できませんので、日付ごとにできた csvファイルなどを結合する場合、Add Rowsを複数並べることもできますが、ちょっと煩雑ですので、、できれば、別のサービスなどで前処理した方がスマートでしょう。

 この他、様々なデータセット加工モジュールが用意されていますので、色々試してみてください。