100日後にプロになるワシ11日目(python)
やったこと
SIGNATE
ECサイトにおける購買率の最適化
モデリングするための特徴量作成
データを学習用と検証用に分割
機械学習で学ばせる学習用データと、
学習した後そのモデルにテストさせる検証用データで分ける。
1ヶ月のデータのうち前半のデータ(2週間分)を学習用データ
後半のデータを検証用データとして使う。
またさらに、
学習用データを「説明変数期間」「目的変数期間」と1週間づつ分けます。
ポイント:説明変数と目的変数について
説明変数は考える材料。
目的変数はその答え。
AIは説明変数の情報で答えを算出できるように学習していく
今回は顧客が行動した過去のデータから
将来購入するであろう商品を予想することが目的なので
顧客が行動した過去のデータ=説明変数(特徴量)
将来購入するであろう商品=目的変数
となる。
ちなみに説明変数は特徴量とも呼ばれる
特徴量データの作成
特徴量とはAIが答えを導き出すための情報でした。
今回導きたいのはお客が将来購入しそうな、興味がありそうな商品。
その情報に関連しそうなものを特徴量にしたいです。
今回は以下
・各ユーザーが関わったユニーク商品数
・各ユーザーが何らかの行動をとった日数
・各ユーザーが商品の詳細ページを閲覧した回数
また、商品に関する特徴量も作成します
・各商品に対して何らかの行動をとったユニークユーザー数
・各商品に対して閲覧された回数
・各商品に対してカートに入れられた回数
・各商品に対してクリックされた回数
・各商品に対して購入された回数
今度はユーザーと商品との関係
・各ユーザー×商品に対して閲覧した回数
・各ユーザー×商品に対してカートに入れた回数
・各ユーザー×商品に対してクリックした回数
・各ユーザー×商品に対して購入した回数
全ての特徴量を連結した表(の一部)
目的変数データと最終的なデータの作成
特徴量(問題を解くための情報)は用意できたので、その回答(目的変数)を作成します。
ポイント:特徴量と目的変数
特徴量は1ヶ月あるデータのうちはじめの1週間で作成しています。
また、目的変数は次の1週間(2週間目)で作成します。
これは、はじめの1週間の情報で2週間目のデータを予測したいからです。
ポイント2:目的変数の注意点
今回利用する目的変数は2週目のデータを利用しますが、
その全てではありません。
なぜなら、1週目にしかいないユーザー、から予測しても無意味ですし、
2週目にしかいないユーザーを1週目で予測できないからです。
なので、特徴量を作成した1週目のユーザと目的変数を作成する2週目のユーザ、はその両方に存在するユーザが対象になります
最終的なデータ
感想
データが揃った!
次回はいよいよ機械学習させていきます!
いつもサポートありがとうございます。 難しい方は感想をコメントでいただけると嬉しいです。