BigQuery MLの線形回帰を使い、SNSでインプレッションを高めるワードをランキング表示させる

BigQuery MLの線形回帰を使い、SNSでインプレッションを高めるワードをランキング表示させる
目次
SNSでインプレッションを高めるワードをランキング表示
回帰分析を行って、SNSでのインプレッションを高めるワードをランキングで表示しようというのが今回の課題。
純粋なワードの寄与を特定する(インプレッション数が高まるのはリツイートのおかげかもしれない)。そのために、モデルに説明変数を追加していき、決定係数が高まるようにする。
参考にしたサイト
「予測値と正解値の差」の二乗値を計算
最初に、被説明変数を「インプレッション数」、説明変数を「エンティティ名」「重要度」として行ってみた。
フィーチャー=入力された変数
weight=その関数が非説明変数にどれだけ影響を与えているか
INTERCEPT=線形回帰の切片
loss:トレーニングデータの損失=平均二乗誤差
平均二乗誤差とは
各データに対して「予測値と正解値の差」の二乗値を計算し、その総和をデータ数で割った値(=平均値)を出力する関数である。回帰分析の出力層の評価関数として用いられることが多く、0に近いほどより良い。0に近いほどそのモデルの予測に間違いが少ない
モデルVer1の評価
今回のモデルは1か月間のデータしか使っておらず、そもそものツイート数が少ないため、決定係数が高く出てしまっていた。
モデルVer2
この時はまだデータ数の少なさによる決定係数が高く出てしまう事象が解決していない。
モデル1に追加でリツイート数をついかしてみた。
→結果、リツイート数が変数として切り離され、ホットワードのランキングが変動した。
モデルVer6
被説明変数をengagement_count=エンゲージメント数(そのツイートに対してアクションを起こした回数)に変更した場合、決定係数が0.6ほどにまで上がった
https://magellan.xica.net/column/10-failure-pattern/#要素が少なすぎる
重回帰分析をする際に注意する点をまとめているサイトがあった。これを参考にし、しっかり説明変数と被説明変数のかかわりを見ていく。
今のところ表示としてはこのように出てくるようになっている。
モデルを作った次は、モデルの精度を上げていく
モデルの作成に取り掛かったため、ここからモデルの精度を上げていくことが鍵
今回のチャレンジをした結果、見えてきた課題
今回のチャンレジで、いくつかの課題が浮き彫りにされました。
- どうすればモデルの決定係数が上がるのか(予測成功確率)
- 重みはどういった値なのかをもっとよくとらえる必要がある。
- BQMLの使い方や帰ってきた値の意味をもっと勉強する必要がある。
- データの見える化をする