注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
モデルアセットは現在、SparkML ライブラリをサポートしていません。PyTorch、TensorFlow、XGBoost、LightGBM、scikit-learn などの単一ノードの機械学習フレームワークに切り替えることを推奨します。
モデルは、Code Workspaces の Jupyter® ノートブックで学習できます。モデルを学習するには、次の手順を完了します。
教師ありモデル学習チュートリアルでは、Jupyter® コードワークスペースでのモデル学習についてさらに詳しく説明しています。

ワークスペースを設定した後、新しいノートブックを作成してデータをインポートし、モデル学習コードの記述を開始できます。
Code Workspaces では、Code Repositories など、Foundry のほかのコード開発環境で利用可能なパッケージにアクセスできます。新しいパッケージを追加するには、ワークスペースの左サイドバーにあるパッケージタブを開き、必要なパッケージを検索して選択します。次に、最新またはほかの利用可能なバージョンをクリックすると、ターミナルが開き、対応するインストールコマンドが実行されます。
Code Workspaces アプリケーションでは、既存の Foundry データセットをインポートして学習データとして使用できます。Code Workspaces で使用する学習データには、リソース識別子として人が読みやすいエイリアスが必要です。
pandas DataFrame などのデータセット形式を選択できます。生成されたコードスニペットをノートブックにコピーするには、コードスニペットの右上にあるクリップボードアイコンを選択し、完了を選択します。以下は、Code Workspaces が生成するコードスニペットの例です。Copied!1 2 3from foundry.transforms import Dataset training_data = Dataset.get("my-alias").read_table(format="pandas")
Code Workspaces でモデル開発に利用可能なオープンソースツールを使用すると、回帰や機密情報区分など、幅広い分析ユースケースに対応するモデルを学習できます。以下は、scikit-learn を使用して世帯所得の中央値を予測する線形回帰モデルのサンプルです。
scikit-learn をインストールします。Conda または PyPi マネージャーを選択し、scikit-learn を検索します。maestro env conda install または maestro env pip install コマンドを使用して、管理対象環境に複数のパッケージを一度にインストールできます。サイドバーを使用したパッケージのインストール:

ターミナルからのパッケージのインストール:

Code Workspaces でモデルを記述して実行した後、Foundry に公開してほかのアプリケーションと統合できます。以下は、モデル学習コードの例です。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22from sklearn.impute import SimpleImputer from sklearn.linear_model import LinearRegression from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler numeric_features = ['median_income', 'housing_median_age', 'total_rooms'] numeric_transformer = Pipeline( steps=[ ("imputer", SimpleImputer(strategy="median")), ("scaler", StandardScaler()) ] ) model = Pipeline( steps=[ ("preprocessor", numeric_transformer), ("classifier", LinearRegression()) ] ) X_train = training_dataframe[numeric_features] y_train = training_dataframe['median_house_value'] model.fit(X_train, y_train)
Code Workspaces の外部でモデルを利用できるようにするには、ワークスペースに新しいモデル出力を追加する必要があります。新しいモデル出力を作成すると、Code Workspaces は既存のワークスペースに新しい .py ファイルを自動的に作成して保存します。このファイルを使用してモデルアダプターを実装できます。モデルアダプターは Foundry 内のすべてのモデルに標準インターフェースを提供するため、プラットフォームの本番アプリケーションはモデルの作成直後からモデルを利用できます。Foundry のインフラストラクチャは、モデルを読み込み、Python の依存関係を設定し、API を公開して、モデルとのやり取りを可能にします。

モデルに名前を付けて保存すると、ワークスペースの左パネルに新しいモデルを公開するための画面が表示されます。コードスニペットをクリップボードにコピーし、元の .ipynb ノートブックファイルで実行して、ステップ1: palantir_models をインストールするを完了します。
palantir_models のインストールが正常に完了したら、手順 2:Model Adapter を開発するでモデルアダプターを作成して開発します。モデルアダプターには、次のメソッドを実装する必要があります。
save および load:**モデルを再利用するには、モデルをどのように保存し、読み込むかを定義する必要があります。Palantir はシリアライズ(保存)のデフォルトメソッドを提供しています。より複雑な場合には、カスタムシリアライズのロジックを実装できます。api:**モデルの API を定義し、モデルが必要とする入力データのデータ型を Foundry に伝えます。predict:**モデルにデータを渡すために Foundry によって呼び出されます。ここで入力データをモデルに渡し、推論(予測)を生成できます。詳細については、モデルアダプター API リファレンスを参照してください。
以下のコードサンプルでは、上記の関数を実装して、scikit-learn を使用した線形回帰モデルのアダプターを開発しています。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26import palantir_models as pm from palantir_models.serializers import DillSerializer class LinearRegressionModelAdapter(pm.ModelAdapter): @pm.auto_serialize( model=DillSerializer() ) def __init__(self, model): self.model = model @classmethod def api(cls): columns = [ ('median_income', float), ('housing_median_age', float), ('total_rooms', float), ] return {"df_in": pm.Pandas(columns)}, \ {"df_out": pm.Pandas(columns + [('prediction', float)])} def predict(self, df_in): df_in['prediction'] = self.model.predict( df_in[['median_income', 'housing_median_age', 'total_rooms']] ) return df_in
詳しい手順については、モデルアダプターのドキュメントを参照してください。
モデル実験は、モデルの学習実行中に生成されるメトリクスとハイパーパラメーターを記録するための軽量なフレームワークです。記録したメトリクスとハイパーパラメーターは、モデルとともに公開し、モデルページに保存できます。
モデルを Foundry に公開するには、左サイドバーの手順 3:モデルを公開するの下にある、公開するモデル用のスニペットをコピーし、ノートブックに貼り付けてセルを実行します。以下は、上記で作成した LinearRegressionModelAdapter を使用して線形回帰モデルを公開するスニペットの例です。
Copied!1 2 3 4 5 6 7 8 9 10 11from palantir_models.code_workspaces import ModelOutput # モデルアダプターは linear_regression_model_adapter.py で定義されています from linear_regression_model_adapter import LinearRegressionModelAdapter # sklearn_model は別のセルで学習したモデルです linear_regression_model_adapter = LinearRegressionModelAdapter(sklearn_model) # "linear_regression_model" はこのサンプルモデルのエイリアスです model_output = ModelOutput("linear_regression_model") model_output.publish(linear_regression_model_adapter)
このスニペットはそのまま動作するはずですが、アダプターの初期化時には、トレーニングしたモデルを正しく渡す必要があります。コードの準備ができたら、セルを実行してモデルを Foundry に公開できます。

モデルは、モデリング目標に登録することで利用できます。モデルは、以下の目的でモデリング目標に登録できます。
モデルは、モデルデプロイメントを使用して利用することもできます。これは、モデリング目標とは別のモデルホスティングシステムです。
Jupyter® および JupyterLab® は、NumFOCUS の商標または登録商標です。
記載されているすべての第三者の商標は、それぞれの所有者に帰属します。提携や推奨を示唆するものではありません。