AIToday
Qiita 機械学習掲載日時: 2026年10月1日 1:00

Spark MLモデル、12,303行で学習

LINEで送る
Spark MLモデル、12,303行で学習

3つのポイント

  1. 何が起きたか

    Managed Service for Apache SparkとMLlibのLogisticRegressionWithLBFGSで米国フライトデータ12,303件を学習し12,307件で評価した。

  2. なぜ重要か

    定時到着の確率は主にゲート出発時刻で決まるため、少量の学習データでも実験結果を再現できることを示す。

  3. 注目点

    全体の精度は高いが判断境界付近のフライトでは急落するため、閾値の設定次第で有用性が変わる。ラボでは会議を中止するかの判断に0.7のカットオフを使う。

誰に効くかクラスタ管理なしでSparkの機械学習を試したいデータサイエンティストやアナリストはこの解説を参考にできるが、コードを再利用する前に実行モード、列マッピング、クリーンアップを確認すべきだ。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

本記事は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分)に対して課金されるため、記事がクラスタの速やかな削除を強調するのも当然だろう。

よくある質問
モデルはどんなデータを使うのか?
米国運輸統計局のフライト記録を使い、出発遅延、タキシング時間、距離を入力とする。
モデルはどう評価されるのか?
別の12,307便のシャードでテストし、全体の精度は高いが0.7の閾値付近の便では下がる。
主な落とし穴は?
ラボのコードはSparkをローカルモードで動かし、ダイバート便に誤った列を使い、クラスタ削除後もステージングバケットを残す。
Qiita 機械学習元記事を読む
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

次の記事へAIエージェント本番導入、日本は17%で14カ国中最下位