はじめに
今回は、Qlik Sense SaaSの機能として存在する「Qlik AutoML」について概要と、MLを始めるにあたって留意すべき点をご紹介します。
Qlik AutoMLとは
Qlik AutoMLは、Qlikのデータ分析プラットフォームに統合された機械学習機能です。
ユーザーが高度なデータ分析や予測モデルを構築するのを支援し、データサイエンティストの専門知識がなくても利用できるように設計されています。
Qlik AutoMLは、データの探索、モデルのトレーニング、評価、デプロイメントまでの一連のプロセスを自動化し、迅速かつ効率的な機械学習ワークフローを提供します。
Qlik AutoMLに存在する2つのタイプ
Qlik Cloudのメニューより、[新規作成]できるタイプにアプリや自動化(Qlik ApplicationAutomation)含め様々な種類がありますが、AutoMLに関しては、2つのタイプが存在します。
1.MLの実験
新しい機械学習(ML)モデルを学習させるためのもので、ハブの「新規追加」
メニューから作成することができます。
2.ML展開
MLの実験によって作成され、モデルが展開されると予測を行う際に使用できるようになります。
MLを行うにあたっての準備について
要件に関する準備
今回は「MLの実験」を行うにあたって、どのような分析をしたいのか、成功基準を明確にして、整理する観点をご紹介します。
今回は例として、予測対象を小売業における顧客離脱予測として考えてみます。
1.分析したい内容は本当にMLが必要かどうか
機械学習は特定の種類の問題に対して非常に効果的です。例えば、予測、分類、クラスタリングなどのタスクです。
しかし、すべてのビジネス問題がこれらのカテゴリに適合するわけではありません。問題が単純な集計や規則ベースのアプローチで解決できる場合、MLを使うことは過剰かつ非効率です。
2.予測対象は何か
- 顧客が次の3ヶ月以内に離脱するかどうかを予測
3.予測できるとどんなアクションが取れるか
- 離脱が予測される顧客に対して、特別なプロモーションや割引クーポンを提供。
- パーソナライズされたメールやメッセージを送信して顧客とのエンゲージメントを強化。
- 顧客満足度向上のためのフィードバックを直接求める。
4.アクションからどんなメリットがあるのか
- 顧客離脱率の低減。
- 顧客生涯価値(Customer Lifetime Value, CLV)の向上。
- 顧客維持コストの削減。
- 新規顧客獲得コストの削減。
5.求めている出力結果 / プロジェクトの成功基準
- 出力結果: 顧客ごとの離脱確率(0から1のスコア)。
- 成功基準:
- 離脱予測モデルの精度(AUC-ROCが0.8以上など)。
- 離脱防止施策を実行した顧客の離脱率が、予測モデル導入前に比べて20%減少。
- 顧客生涯価値が10%向上。
6.予測モデルができた後における実運用フロー
- データ収集: 顧客行動データ、購買履歴、顧客属性データを定期的に収集。
- データ前処理: データをクリーニングし、特徴量エンジニアリングを実施。
- モデル適用: 定期的に新データに基づいて予測モデルを適用し、離脱確率を計算。
- 結果の分析とアクション: 離脱確率が高い顧客リストをマーケティングチームに提供し、特別な施策を実施。
- 効果測定: 施策実施後の顧客離脱率、売上、顧客満足度を追跡し、モデルの効果を評価。
7.ビジネスインパクト / ビジネスインパクトの計算式
- ビジネスインパクト: 顧客離脱率の低減による売上増加と、顧客維持コストの削減。
- 計算式:
- 顧客離脱率の減少分 = ベースラインの離脱率 - 予測モデル導入後の離脱率
- 増加した売上 = 顧客生涯価値(CLV) × 離脱率減少分 × 顧客数
- コスト削減 = 新規顧客獲得コスト × 離脱率減少分 × 顧客数
例えば、モデル導入前の離脱率が20%で、導入後に15%に減少した場合、
顧客数が10,000人で、顧客生涯価値が500,000円、新規顧客獲得コストが1,000,000円だとすると
- 離脱率の減少分 = 20% - 15% = 5%
- 増加した売上 = 500,000円 × 5% × 10,000人 = 25,000,000円
- コスト削減 = 10,000円 × 5% × 10,000人 = 5,000,000円
データセットの準備
AutoMLを使用するには、機械学習を行うためのデータセットが必要です。
これらは、Qlik Cloudのカタログで参照することができるデータセットである必要があり、
それはスペースにアップロードされ、保存されたファイルである必要があります。
また、データセットについては以下の点を確認する必要があります。
確認する理由と、具体例をあわせてご紹介します。
1.学習データが存在するか
理由:
- 学習データが存在しなければ、モデルのトレーニングそのものが不可能です。
- 十分な量のデータがなければ、モデルはパターンを学習することができず、汎化能力の低いモデルとなります。
具体例:
- 顧客の購買履歴を予測するモデルを作成する際に、過去の購買データが全くない場合、そのモデルはトレーニングできません。
2.データセット内に欠損値は含まれていないか
理由:
- 欠損値が含まれていると、モデルの学習に悪影響を及ぼし、予測の精度が低下します。
- モデルが欠損値を処理できない場合、学習が中断されることもあります。
具体例:
-
顧客の年齢や購入金額に欠損値があると、その欠損値部分を無視するか、適切に補完しなければなりません。
例えば、平均値で補完する、もしくは欠損値処理用のアルゴリズムを適用します。
3.異常な値や極端な値が含まれていないか
理由:
- 異常値や極端な値が含まれていると、モデルがそれに過剰に適応し、他の正常なデータに対する予測精度が低下します。
具体例:
- 商品の価格データにおいて、一部のデータが通常の価格範囲(例えば1000円から10000円)を大きく逸脱して100000円などとなっている場合、それらを除外または適切に処理する必要があります。
4.同じデータセット内で同じ種類のデータが、異なる形式で表現されていないか
(日付フォーマットなど)
理由:
- データ形式が統一されていないと、モデルが正しくデータを解釈できず、誤った学習をする可能性があります。
- データの前処理が複雑になり、エラーが発生しやすくなります。
具体例:
- 日付データが一部は「YYYY-MM-DD」形式、一部は「MM/DD/YYYY」形式で表現されている場合、統一する必要があります。
5.同じデータが複数回登場しており、不要な冗長性を生んでいないか
理由:
- 重複データがあると、モデルが特定のパターンに過剰に適応し、バイアスがかかる可能性があります。
具体例:
- 同じ顧客の購買履歴が複数回登場していると、顧客の購買傾向が過剰に反映され、他の顧客に対する予測が歪む可能性があります。
6.データセット内で相互に整合しない情報は含まれていないか
(同じIDに対する異なる情報など)
理由:
- 整合性が取れていないと、モデルが矛盾した情報を学習し、予測精度が低下します。
具体例:
- 同じ顧客IDに対して、異なる住所が登録されている場合、どの情報を使用するか明確にする必要があります。
7.項目値の分布が極端に不均衡で、特定の値に対するデータが不足していないか
理由:
- データが不均衡だと、モデルが多数派のクラスに過剰適応し、少数派のクラスに対する予測精度が著しく低下します。
具体例:
- 顧客が購入した商品のカテゴリが100件中90件が「A」、10件が「B」といった場合、モデルはカテゴリ「A」を過剰に学習し、「B」を正確に予測できない可能性があります。
8.データが適切に更新されているか(最新のものか)
理由:
- 古いデータに基づいて学習したモデルは、現在の状況に適応できず、正確な予測を行えません。
具体例:
- 顧客の購買パターンが数年前のデータに基づいている場合、最新の購買トレンドや顧客行動を反映していないため、予測が正確でなくなります。
おわりに
これらのポイントに留意することで、データの品質を保ち、モデルの精度と信頼性を向上させることができます。
MLを活用される際は、ぜひ参考にしてみて下さい。