Databricks Certified Machine Learning Associate 問題集

Databricks Certified Machine Learning Associate 試験対策公式 Exam Guide(2025年3月1日公開の試験の版)準拠

Databricks Certified Machine Learning Associateの日本語問題集。全170問に解説つき。

Databricks Certified Machine Learning Associate 無料問題 8 / 10 ・ 分野3: Model Development

サブスクリプションの契約から解約までの日数を予測したい。まだ解約していない契約は、観測した日数より後に解約が起きるものとして学習に入れたい。Spark MLlib(spark.ml)の回帰として適切なものはどれか。

  1. AFTSurvivalRegression で、まだ解約していない行に印を付けて学習させる
  2. IsotonicRegression で、日数が契約の期間に対して単調になるように当てはめる
  3. GeneralizedLinearRegression の family を "poisson" にして、日数を件数として当てはめる
  4. LinearRegression の weightCol で、まだ解約していない行の重みを下げて学習させる
正解と解説を見る

正解: A

正解の理由
spark.ml の生存回帰は、打ち切りのあるデータ(censored data)のためのパラメトリックな生存回帰モデルである加速故障時間(AFT)モデルを実装している。学習データには label と features に加えて censor の列を持たせ、その行で事象が起きたか(打ち切りでないか)を示す。こうするとまだ解約していない契約を「観測した日数より後に起きる」として尤度に入れられる。同じ目的の比例ハザードモデルと違い、各行が目的関数に独立に寄与するので並列化しやすい、と公式は説明している。

違う選択肢
「IsotonicRegression で、日数が契約の期間に対して単調になるように当てはめる」… 等調回帰(Isotonic regression)は、観測した値に単調な関数を最小二乗で当てはめる手法である。学習の入力は label・features・weight の3列で、まだ解約していない(観測を打ち切った)行を区別する仕組みは無い。
「GeneralizedLinearRegression の family を "poisson" にして、日数を件数として当てはめる」… 一般化線形モデルは、目的変数が指数型分布族に従うとして当てはめる。ポアソンにすると日数を数え上げの値として扱うだけで、まだ解約していない行の日数も「その日数で解約した」実測として学習されてしまう。
「LinearRegression の weightCol で、まだ解約していない行の重みを下げて学習させる」… 重みを下げても、まだ解約していない行の日数を目的変数の実測として扱うことに変わりはない。「この日数より後に起きる」という情報はモデルに入らず、解約までの日数を短めに見積もる偏りが残る。

押さえどころ
AFT モデルは生存時間の対数をモデルにするので、生存分析の対数線形モデルとも呼ばれる。最もよく使われるのは生存時間にワイブル分布を置く形である。打ち切りを無視して普通の回帰に入れると、まだ起きていない事象の日数が実測として混ざる。

Databricks Certified Machine Learning Associateの演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る