
何が起きたか
Managed Service for Apache SparkとMLlibのLogisticRegressionWithLBFGSで米国フライトデータ12,303件を学習し12,307件で評価した。
なぜ重要か
定時到着の確率は主にゲート出発時刻で決まるため、少量の学習データでも実験結果を再現できることを示す。
注目点
全体の精度は高いが判断境界付近のフライトでは急落するため、閾値の設定次第で有用性が変わる。ラボでは会議を中止するかの判断に0.7のカットオフを使う。
誰に効くかクラスタ管理なしでSparkの機械学習を試したいデータサイエンティストやアナリストはこの解説を参考にできるが、コードを再利用する前に実行モード、列マッピング、クリーンアップを確認すべきだ。
こういう要約が、毎朝あなたのメールに届きます。
本記事はGoogle Skillsのラボ「Machine Learning with Spark on Google Cloud Managed Apache Spark」(ID: GSP271)を、ラボの一時環境ではなく個人プロジェクトで再現した実践的な解説だ。コードはO'Reillyの書籍『Data Science on the Google Cloud Platform』に対応するGoogleCloudPlatform/data-science-on-gcpリポジトリの06_dataprocディレクトリを基にしている。学習データは米国運輸統計局のもので、ラボがタイムゾーン補正を加えて作成したCSVを使う。
ラボを本来の環境外で動かすと、いくつかの食い違いが表面化した。モデルの重み、評価行数、精度についてのラボのサンプル値は著者の結果と一致しない。符号と桁は整合しており、ラボの記述が別のデータセットに対して書かれたことを示唆する。またラボは列_c24をDIVERTEDとして扱うが、実際はCANCELLATION_CODEであり、このデータのダイバート便は到着遅延が空で除外されるため結果には影響しない。インフラ面では、バージョン2.2以降のクラスタイメージは内部IPアドレスのみが既定であり、インターネット接続が必要な初期化アクションには外部IPかCloud NATが必要だと著者は指摘する。
読者にとってこの解説の価値は、モデルそのものと同じくらいこうした注意点にある。サンプルコードを流用する人は、Sparkが実際にローカルモードで動いているのかワーカーに分散しているのかを確認し、列マッピングを修正し、クラスタ削除後もステージング用や一時的なバケットが残ることを覚えておくべきだ。コストの特徴も注目に値する。クラスタはジョブが動いているかどうかに関わらず稼働時間全体(ここでは約16分)に対して課金されるため、記事がクラスタの速やかな削除を強調するのも当然だろう。
業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。
登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →
この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。