後処理ステップの実行
モデルをトレーニングしたら、次の後処理ステップを実行します:
- モデルをデータストアに保存します。
次のコードは、後処理ステップの一部としてモデルをOMLデータストアに保存します。 空間パイプラインは、オブジェクト名とPythonオブジェクトを含むディクショナリを含む
sai_regressor_ds
という名前のデータストアに格納されます。import oml oml.ds.save({'spatial_error_pipeline': spatial_error_pipeline}, 'sai_regressor_ds', description='some description', overwrite=True)
- データストアからモデルをロードします。
oml.ds.load
関数を使用して、データストアの名前とトレーニング済モデルを持つPythonオブジェクトの名前を指定して、予測のためにモデルをデータストアからPythonにロードします。ds_objs = oml.ds.load('sai_regressor_ds', objs=['spatial_error_pipeline'], to_globals=False) error_model_loaded = ds_objs['spatial_error_pipeline']
- 予測セットを指定して、トレーニング済モデルで予測を行うユーザー定義Python関数を作成および格納します。
次のコードでは、トレーニング済モデルをデータストアからロードし、それを使用して特定の予測セットで予測を行うPythonユーザー定義関数(UDF)を作成します。 UDFは、
oml.script.create
を使用してOMLに登録されます。udf = """def error_model_pipeline_predict_(X): import oml ds_objs = oml.ds.load('sai_regressor_ds', objs=['spatial_error_pipeline'], to_globals=False) error_model_pipeline = ds_objs['spatial_error_pipeline'] pred = error_model_pipeline.predict(X) return pred.tolist()""" oml.script.create("errorModelPipelinePredict", udf, is_global=True, overwrite=True)
- SQLを使用してPython UDFを実行します。
次のコードでは、
pyqEval
を使用して、単一の監視で構成されるX
パラメータを渡すことで、SQLでPython UDFerrorModelPipelinePredict
を実行します。select * from table(pyqEval( par_lst => '{"X": [[30.6005898, 12.1, 342200.000, 0.8]]}', out_fmt => 'JSON', scr_name => 'errorModelPipelinePredict' ) );
MoranのI統計は肯定的で重要であり、ターゲット変数に空間依存が存在することを確認します。
レスポンスには、所定の観察に対する推定収入中央値が表示されます。
NAME VALUE [[67428.20461759513]]