コンテンツにスキップ

モデルで推薦アイテム算出

推薦モデル構築で作ったモデルを使って、実際に推薦するアイテムを出します。

入出力

ポート内容
推薦モデルモデル
入力データデータ
出力データデータ

入力が 2 つあります。 推薦モデル 側に推薦モデル構築の 1 つ目の出力をつなぎます。

Spark エンジンでは動きません。

入力の行も列も残りません。 出力は、推薦したアイテムを 1 行ずつ並べた別の表です。

出力の形

列名内容
モデルのキー列と同じ名前の列推薦する相手
モデルのアイテム列と同じ名前の列推薦するアイテム
レコメンドスコア勧める強さ。大きいほど優先

1 人(1 キー)につき 10 件まで出ます。件数は変えられません。もっと少なくしたいときは、このノードのあとで絞ります。

入力データにあったほかの列は残りません。 顧客の属性などを一緒に見たいときは、キー列を指定する結合で戻してください。

設定項目

設定項目はありません。 モデルを作ったときの設定(キー列・アイテム列・評価済みを含めるか)がそのまま使われます。

推薦する相手の絞り込みは、このノードの前で行います。

入力データに要るもの

モデルを作ったときと同じ名前のキー列が必要です。 アイテム列はなくても動きます。入力データのキー列に並んだ値について推薦が出ます。

モデルを作ったときになかったキーの値は扱えません。 新しい顧客にも出したいなら、その顧客も含めてモデルを作り直してください。

エラーと対処

学習時にない値が含まれる

入力データのキー列に、モデルを作ったときになかった値があると出ます。

列: {{name}}に学習時には存在しない値が含まれています。アイテム算出対象データも含めて推薦モデルを構築してください。

直し方 — アイテム算出対象のデータも含めて推薦モデル構築をやり直します。新しい顧客だけを外したいなら、条件で行をフィルタで先に落とします。

入力データに列がない

モデルのキー列と同じ名前の列が、入力データにないときに出ます。

入力データに列: {{name}}が存在しません。

直し方 — モデルを作ったときと同じ列名のデータをつなぎます。列名が違うなら列名の変更で合わせます。

よく使う例

1. 全顧客への推薦を出す

顧客ごとのおすすめ一覧が欲しいとき。

入力(モデルと、キー列を持つデータ)

顧客ID
C001
C002

設定 — 設定項目はありません。推薦モデル構築の モデル をつなぐだけです。

出力 — 顧客ID / 商品ID / レコメンドスコア の 3 列。1 顧客につき最大 10 行なので、2 顧客なら最大 20 行になります。

2. 特定の顧客だけに出す

キャンペーン対象の顧客にだけ出したいとき。

入力 — 例 1 と同じ

設定 — 条件で行をフィルタで対象の顧客に絞ってから、このノードの 入力データ につなぎます。

出力 — 絞った顧客の分だけ出ます。モデルを作り直す必要はありません。

3. 上位 3 件だけ残す

1 人につき 3 件だけ出したいとき。

入力 — 例 1 の出力

設定 — 先頭/末尾からn行選択で、方向を選択 先頭から、選択する行数を入力 3、「特定の列で並べ替えてから処理する」を on にして並べ替えに レコメンドスコア の 降順、「グループごとに処理する」に 顧客ID を指定します。

出力 — 1 顧客 3 行になります。

4. 顧客の属性と並べて見る

おすすめ一覧に顧客名や地域も付けたいとき。

入力 — 例 1 の出力と、顧客マスタ

設定 — キー列を指定する結合で 顧客ID をキーにつなぎます。

出力 — 推薦結果に顧客の属性が付きます。

5. 定期実行する

毎週おすすめを更新したいとき。

入力 — 例 1 と同じ

設定 — モデルを作るワークフローと推薦を出すワークフローを分け、推薦側だけをスケジュールの新規作成に沿って登録します。

出力 — モデルを作り直さずに、毎週の対象顧客に対する推薦が更新されます。新しい顧客が増えたらモデルも作り直してください。

関連