Alteryxで機械学習をしようと思ったときに知っておいた方がよさそうなこと – 今日からはじめるAlteryx再入門アドベントカレンダー
こんにちは。
データアナリティクス事業本部ソリューション部プリセールススペシャリストの兼本です。
当エントリは2020年アドベントカレンダー『今日からはじめるAlteryx再入門』の18日目のエントリです。
このアドベントカレンダーの企画は、Developers.IOにてAlteryxの情報をお届けしてきたメンバーによるAlteryxを1から学べるシリーズになっています。Alteryx触ってみたい!という方の入門記事として、Alteryx使っているけど改めて基礎から学びたい!という方の再入門記事としてご活用いただければ幸いです。
18日目の今日は「Alteryxで機械学習をしようと思ったときに知っておいた方がよさそうなこと」についてお話しします。
とはいえ、私は統計学や機械学習に関して造詣が深いわけではないので、明日の私自身に向けて、あまり難しい話は抜きで説明します。
予測分析の目的を決める
当たり前ですが、まずは目的(ターゲット)を決める必要があります。例えば、解約の可能性をターゲットとする場合、アクティブな顧客のデータだけではなく、解約した顧客のデータも必要です。
統計や機械学習では、売上金額や身長体重、気温などの連続した数値で示されるデータを量的データ(量的変数)、性別や色あるいは解約したかどうかのようにYES/NOや3つ以上のグループで示されるデータを質的データ(質的変数、カテゴリカル変数)と呼びます。ターゲットが量的変数なのか質的変数なのかによって、適用できる予測分析ツールが異なります。
データの調査と前処理
これも当たり前ですが、ターゲットを予測するには答えを導くためのデータが必要です。ただし、データはあればよいというわけではなく、整然データ(Tidy Data・翻訳)であることが期待されます。
また、データの内容に関しても、以下の点に留意しなければ正しい予測結果を導き出すことがは難しくなります。
- 欠損値(欠測値)の扱い
- 定数で補完する
- 平均値などで補完する
- 該当レコードを削除する
- 外れ値の扱い
- どこまでの範囲を外れ値とするか(データの標準偏差σに対して絶対値が2σから3σより大きいデータを外れ値とすることが多い?)
- 除外するべきか
- データの粒度
- ほかの説明変数と比較して、粒度がそろっているか
Alteryxではフィールドサマリツールやアソシエーション分析のようなデータ調査のために使えるツールが用意されています。
2020.2以降のバージョンでは閲覧ツールでもフィールドごとのデータプロファイルを確認することができます。
特徴量の選択
特徴量は説明変数と同じ意味で使われます。予測に影響を与えない、あるいは他の説明変数と似た特徴を持っている説明変数を含むモデルを作成すると、ノイズによって作成するモデルの精度が低くなる可能性があります。
また、説明変数が多いと予測モデルの作成コストも高くなるため、より精度の高いモデルを作成するには、数あるデータの中から如何にして重要な特徴量を選択できることがポイントとなります。
Alteryxでは特徴量を自動的に生成する機能は用意されていませんが、様々なツールを組み合わせることで様々な特徴量を作成することができます。
- 既存のデータを集計する(フォーミュラツール)
- 複数のデータを組み合わせる(結合ツール)
- 表形式のデータを正規化する(転置ツール)
- 正規化されたデータを表形式にする(クロスタブツール)
- カテゴリカル変数からダミー変数を作る
もちろん、上記以外にもデータを加工するための様々なツールが用意されています。
評価と検証
予測分析を行う際、データセットをトレーニングデータ、テストデータ(およびホールドアウトデータ)に分割する場合があります。このような場合は、サンプル作成ツールを使います。
- 作成したデータセットに対してサンプル作成ツールを接続します。
- サンプル作成ツールの設定でサンプルの割合を指定すると、3つのアウトプット[E](推定サンプル・トレーニングデータ)、[V](検証サンプル・テストデータ)、[H](それ以外・ホールドアウトデータ)に分割されたデータを取得できます。
アルゴリズムの選択
データセットの準備が終わったら、いよいよ予測分析タブにある様々な予測ツールを使って予測モデルを作成します。Alteryxには量的変数、質的変数、あるいは両方の変数を評価できるツールが用意されています。
- 分類型
- 回帰型
- 両方対応できる
どのケースで、どのアルゴリズムを使用すれば最適かを判断するには統計学や機械学習に関するより深い知識と経験が必要になりますが、Alteryxでは一つのワークフロー内で複数の予測ツールを配置して比較することも可能ですので、まずやってみるというスタンスで予測モデルを作成することが可能です。
予測ツールの[O]アウトプットにはRで生成されたオブジェクトが出力されます。このデータをユニオンツールで結合してリフトチャートツールやモデル比較ツールで評価することで、選択した複数のアルゴリズムのどれを使うのかを判断することも可能です。
最適なツール(アルゴリズム)を選択したら、同じツールの設定が異なる複数のバージョンを配置してさらに予測精度を高めることも可能です。
まとめ
機械学習をしようと思ったときに知っておいた方がよさそうなことについてご紹介しました。とはいえ、こういったプロセスをもっと簡単に実施したいという方も多いでしょう。
そんな方のために、Alteryxではアシスト付きモデリング機能を提供しています。明日の「機械学習をしよう(Intelligence Suite編): Machine Learning」では、今日ご紹介したプロセスを手助けする「アシスト付きモデリング機能」について、なんと明日(12月19日)が誕生日というniinoがご紹介する予定です。
以上、最後までお付き合いいただきありがとうございました。