3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者】Amazon SageMaker Canvas を使ってみる

Posted at

1. はじめに

  • 2024年開始の新資格「AWS Certified Machine Learning Engineer - Associate」の受験準備をしている。
  • 普段SageMakerを使う機会がなく、このままだとまた全て机上学習になってしまうため、可能な範囲で実機学習する。
  • 初心者なので、内容を突き詰めるわけではなく、処理の流れや雰囲気が理解できることを目標とする。

2. やったこと

  • 事前学習として、Kaggleの「タイタニックチュートリアル」を実施して、従来の方法(JupiterNotebook/Python/Pandasなど)を用いて、生存者を予測するモデルを作成して、テストデータに対して推論を行い、結果をKaggleに登録するプロセスを確認する。
  • 本題として、同様のプロセスをSageMaker Canvasを用いて実施し、どれくらい簡単にできるのかを確認する。

3. 事前学習

3.1 タイタニックチュートリアルの実施

  • タイタニックチュートリアル」を実施し、生存者予測作業の流れを確認する。
  • このチュートリアルで学習できる内容は以下の通り。自分で分析環境を用意することも不要であり、なぞるだけであれば1時間程度で実施可能。
    • 作業に必要なファイルを確認する。
      • train.csv: トレーニング用データ(891人分、生存/死亡の値あり)
      • test.csv: 予測用データ(418人分、生存/死亡の値がなく、どちらなのかを予測するのが課題)
      • gender_submission.csv(418人分の生存/死亡の予測結果を提出する用)
    • Kaggleのサイト上でNotebookを作成し、データロード、モデル作成、418人分の予測を行い、結果を登録する。
  • このチュートリアルで作成したモデル(ランダムフォレスト)を用いた予測では、スコア(正解率)は 0.77511 となる。なお、結果提出用ファイル(gender_submission.csv)の初期値は、単純に男性が死亡、女性が生存という値になっているが、その場合のスコア(正解率)は 0.76555 となる。

3.2 データ分析やモデル作成に関する追加確認

4. SageMaker Canvas の利用

4.1 事前準備

  • SageMaker Canvas を利用する前に、まず SageMaker ドメイン(環境設定みたいなもの)を作成する必要がある。今回は「シングルユーザー向け」を選択する。

image.png

  • 既定の設定でドメインが作成される(ドメイン名は分かりづらいが変更不可)。

image.png

  • ドメインが作成されるのと同時にドメイン内にデフォルトユーザも作成される。

image.png

  • デフォルトユーザを指定してSageMaker Canvasを起動する。

image.png

  • SageMaker Canvasの管理画面がマネコンとは別に表示される。
    image.png

4.2 SageMaker Canvas でのタイタニック分析

データセットのアップロード

  • Datasets -> Import Data -> Tabular を選択する。
    image.png

  • Dataset名を「train-titanic」、Data Sourceを「Local Upload」として学習用データ「train-titanic.csv」(生死の情報がある891人分のデータ)をアップロードする。同様に予測したいデータ「test-titanic.csv」(生死の情報がない418人分のデータ)もアップロードする。

image.png

  • 2つのファイルが正しくアップロードされたことを確認する。

image.png

モデルの作成

  • My models -> + New Model を選択する。「Problem Type」として「Predictive analysis」(データから予測を行う)を選択する。

image.png

  • モデル作成用のデータセットとして先ほどアップロードした「train-titanic」を選択する。
    image.png

  • 「Target column」(予測したい列)としてSurvived(生死)を選択し、Quick Build(簡易的なモデル作成)を実行する。

image.png

  • 訓練用データであれば82.682%の精度で予測できるモデルが作成される。Predict(予測)のステップへ進む。

image.png

予測の実行

  • Batch prediction(1個1個の行に対する予測ではなく複数行まとめて予測)、Manual(1回限りのファイル指定でのDataset指定)を選択して、テストデータ(生死の値がない418人分)のファイルを指定し、Generate Predictionsを実行する。

image.png

image.png

  • 実行後、テストデータの各行に対し、Survived(生死の値)とprobability(確度みたいなもの)が追加されたファイルがダウンロードできる。

image.png

  • このファイルをKaggleへの提出形式(PassengerIdとSurvivedの2列だけ)に編集して提出する。残念ながら結果としてはスコア(正解率) 0.73684 と微妙な値になってしまった。

image.png

4.3 環境の停止

  • SageMaker Canvas は使用中は常時課金され続けてしまうので、作業が終わったらログアウトする必要がある。(左下のログアウトボタン)

image.png

  • Canvasが起動中かどうかはマネコンのSageMakerの画面(ドメインの詳細->リソース)でも確認できる。上がCanvasを実行中、下が停止中(ログアウトした状態)の画面。

image.png

image.png

5. 所感

  • SageMaker Canvas、使いこなせばいろいろ便利で、業務として使う場合はよいかもだが、使用中は常に時間課金が発生(きちんとログアウトしないと課金が継続してしまう)、またデータ読み込みや予測などの処理に対してそれぞれ課金されるため、学習用としては精神的に気軽には使いにくいかな、、と感じた。(多少不便でもSageMaker Studio Labのような無料環境で落ち着いてやったほうが、、と思ってしまった。)
  • 今回やったことの他にも、Wrangler(データの前処理)とか、簡単に試せそうな機能はあるので、もう少し触って理解できるようにしたい。
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?