見出し画像

100日後にプロになるワシ11日目(python)

やったこと

SIGNATE
ECサイトにおける購買率の最適化
モデリングするための特徴量作成

データを学習用と検証用に分割

機械学習で学ばせる学習用データと、
学習した後そのモデルにテストさせる検証用データで分ける。

1ヶ月のデータのうち前半のデータ(2週間分)を学習用データ
後半のデータを検証用データとして使う。

またさらに、
学習用データを「説明変数期間」「目的変数期間」と1週間づつ分けます。

ポイント:説明変数と目的変数について
説明変数は考える材料。
目的変数はその答え。
AIは説明変数の情報で答えを算出できるように学習していく

今回は顧客が行動した過去のデータから
将来購入するであろう商品を予想すること
が目的なので

顧客が行動した過去のデータ=説明変数(特徴量)
将来購入するであろう商品=目的変数

となる。

ちなみに説明変数は特徴量とも呼ばれる

特徴量データの作成

特徴量とはAIが答えを導き出すための情報でした。

今回導きたいのはお客が将来購入しそうな、興味がありそうな商品。
その情報に関連しそうなものを特徴量にしたいです。

今回は以下
・各ユーザーが関わったユニーク商品数
・各ユーザーが何らかの行動をとった日数
・各ユーザーが商品の詳細ページを閲覧した回数

また、商品に関する特徴量も作成します
・各商品に対して何らかの行動をとったユニークユーザー数
・各商品に対して閲覧された回数
・各商品に対してカートに入れられた回数
・各商品に対してクリックされた回数
・各商品に対して購入された回数

今度はユーザーと商品との関係
・各ユーザー×商品に対して閲覧した回数
・各ユーザー×商品に対してカートに入れた回数
・各ユーザー×商品に対してクリックした回数
・各ユーザー×商品に対して購入した回数

スクリーンショット 2020-08-23 0.03.11

全ての特徴量を連結した表(の一部)

目的変数データと最終的なデータの作成

特徴量(問題を解くための情報)は用意できたので、その回答(目的変数)を作成します。

ポイント:特徴量と目的変数
特徴量は1ヶ月あるデータのうちはじめの1週間で作成しています。
また、目的変数は次の1週間(2週間目)で作成します。
これは、はじめの1週間の情報で2週間目のデータを予測したいからです。
ポイント2:目的変数の注意点
今回利用する目的変数は2週目のデータを利用しますが、
その全てではありません。
なぜなら、1週目にしかいないユーザー、から予測しても無意味ですし、
2週目にしかいないユーザーを1週目で予測できないからです。
なので、特徴量を作成した1週目のユーザと目的変数を作成する2週目のユーザ、はその両方に存在するユーザが対象になります

スクリーンショット 2020-08-23 0.31.51

最終的なデータ

感想

データが揃った!

次回はいよいよ機械学習させていきます!

#100日でプロになるワシ
#100プロ
#11日目
#python

いつもサポートありがとうございます。 難しい方は感想をコメントでいただけると嬉しいです。