
6.2
ML
による乳幼児の生存確率の予測
105
print(evaluator.evaluate(test_model,
{evaluator.metricName: 'areaUnderROC'}))
print(evaluator.evaluate(test_model,
{evaluator.metricName: 'areaUnderPR'}))
このコードの結果は次のようになります。
ROC 以下の領域は 74%で、PR 以下の領域は 71% になっており、モデルはうまく定義されているもの
の、傑出しているというほどではないことがわかります。他の特徴も使えばパフォーマンスを押し上げ
ることもできるかもしれませんが、それは本章で目標とするところではありません(さらに言うなら本
書 の 目 標 で も あ り ま せ ん )。
6.2.7
モデルのセーブ
PySpark では、
Pipeline
の定義をセーブしておき、後から再利用できます。パイプラインの構造だ
けではなく、
Transformers
や
Estimators
の定義もセーブされます。
pipelinePath = './infant_oneHotEncoder_Logistic_Pipeline'
pipeline.write().overwrite().save(pipelinePath)
したがって、セーブされた内容を後からロードし、そのまま
.fit(...)
して予測できます。
loadedPipeline = Pipeline.load(pipelinePath) ...