AIを使った予測というのはワクワクさせるものがあります。ただ、実際にやってみようと思っても、Pythonに数学、統計、機械学習、データベースの知識と求められるスキルが高く、専門家がやるものだと思ってる人も多いのではないでしょうか。
最近では、AutoML(Auto Machine Learning)という言葉を目にする機会も増えてきているほか、デジタルマーケティング領域においても、機械学習を使ったターゲティングなど、日々の広告運用の裏側で機械学習が当たり前のように使われており、その精度も日進月歩で高まっています。そのため、機械学習は簡単にできるようになったんだと期待してしまうものの、実際には環境構築が必要だったりするケースが多く、挫折した人も多いのではないでしょうか。そんな人のために、SaaS型のサービスも出てきており、機械学習の知識が全くない人でも、AIモデルを作成して予測することができるようになっています。
SaaS型のサービスの例としては、DataRobotやMatrixFlow、SkyFox、VARISTA、Azure Machine Learningといったものがあります。今回は中でも無料で使えて、私が最も初心者向けだと思うVARISTAについて、その操作方法を紹介します。
リンク:
ExcelやCSVから簡単に機械学習を開始
機械学習を行うに当たっては、BigQueryであったりデータを保管する箱を含めて環境の準備が必要です。ほとんどの人が、この環境を用意するところで脱落してしまうのですが、VARISTAなら環境構築不要で誰でもすぐに機械学習を始めることができます。
新規登録は、Google、Facebook、GitHubのアカウントを用いるか、任意のメールアドレスとパスワードを設定するか、どちらかで可能です。
VARISTAを使ったAIモデルの作成
具体的な手順について説明します。
1.新規登録後の初ログイン時に行うのがワークスペースの作成です。
「ワークスペース名」には任意の名前を入力します。無料プランだとワークスペースは一つしか持てませんが、ワークスペース名は後から変更可能なので、自由に設定して問題はありません。
「チーム規模」の選択については、無料プランだとワークスペースにメンバーを追加することができないので『自分のみ』を選択します。「ワークスペースを作成」のボタンを押してワークスペースを作成したらSTARTです。
2.ワークスペースを作成したら「AI新規作成」のボタンを押して作成開始です。
今回は、研究用に公開されているUCI Machine Learning Repositoryから、ポルトガルの銀行機関のダイレクトマーケティングのデータのBank Marketing Data Setを用いてAIモデルを作成します。
今回このデータを使うのは、公開されているデータであり、データの項目や容量的に扱いやすかったからです。世界最大の機械学習コンペティションのプラットフォームであるKaggleからデータをダウンロードしたり、社内の実際のデータで試したりしてもよいでしょう。
「Bank Marketing Data Set」には「bank-additional.zip」と「bank.zip」があります。どちらを使っても問題はありません。実際の業務ではデータが少ないケースは多々あるので、今回は「bank.zip」をダウンロードして使用します。ダウンロードしたファイル中にあるbank-full.csvを学習用に、bank.csvを予測と結果検証に使用します。予測するのは、顧客の定期預金への加入を表す項目名”y”の結果になります。
ダウンロードしてきたデータを使ってすぐにでも開始したいところですが、この二つのCSVファイルは、拡張子こそcsvではあるものの、中身を見ると「;」区切りのデータであるため、そのままでは使えません。テキストエディタでファイルを開き「;」を全て「,」に置換する必要があります。
3.新規AIの設定は、AIの名前を付けた後に、AIに学習させるデータとして、先程編集したbank-full.csvをアップロードするとデータ解析中となります。
アップロードするデータの注意点として、CSVやTSVといったテキストファイルをアップロードする場合、ファイルの文字コードはUTF-8である必要があります。もし、Shift-JISのCSVをアップロードした場合は、データ解析中の表示のまま長く待たされた後にエラーとなります。
4.データ量によりますが、今回のデータだと2分ほどで予測したい列の選択画面に切り替わります。そこで予測する項目名の”y”を選択し「OK」のボタンを押すとAIの設定は完了となります。
5.次はAIモデルの作成です。既に学習するためのデータのアップロードと予測する列の選択は終わっているので「学習開始」のボタンを押すだけです。
6.学習が開始されると、その後の『準備』『データ前処理』『パラメータ最適化』『欠損値保管』『特徴量エンジニアリング』『学習』『評価』の全てが自動で行われます。学習の完了までは30分以上かかるので、時間を置いてログインし直しても問題ありません。
7.学習が完了するとAIモデル情報が表示されます。
今回のAIモデル作成にあたり、データの20%にあたる9,043件がAIモデルの検証に使われています。検証データによる予測結果を見ると以下となります。
実際の結果がTrue | 実際の結果がFalse | 合計 | |
予測(True) | 771件 | 629件 | 1,400件 |
予測(False) | 287件 | 7,356件 | 7,643件 |
合計 | 1,058件 | 7,985件 | 9,043件 |
顧客の定期預金への加入について、「True」と予測された顧客の約半数が、実際には「False」だったということから、このAIモデルは使えないと思った人は多いのではないかと思います。確かにTrueの予測的中率が55%という点では改善の余地があります。だからといって実務に使えないと判断するのは早計です。私は十分使えるレベルだと思います。
実際の業務としてイメージしてください。定期預金に加入してもらうために顧客リストにある9,043件全てにアプローチするのは、多くの手間と時間のコストがかかります。さらに、労力をかけて9,043件にアプローチしても、定期預金へ加入するのは12%の1,058件です。残りの88%に対してかけたコストは無駄になってしまいます。また、どんなに熱心に取り組んでも約9割は結果に結びつかない仕事をやるのは辛いものがあります。
それに対して、予測データを使った場合だと、重点的に攻める顧客を全体の約15%の1,400件まで絞り込めます。その上、1,400件の内の半数は定期預金へ加入する可能性があると考えたらどうでしょうか。コストの面で効率的なだけではなく、モチベーションの面でもプラスになるはずです。
8.それでは、今回のAIモデルを使って予測を行います。『このモデルで予測する』のボタンを押して予測させる顧客データをアップロードします。
アップロードする顧客データは、bank.csvを加工した物を使用します。bank.csvにはダウンロードしてきた時点で”y”に実際の結果の値が入っているので回答データとして扱います。今回は、この回答データとAIモデルで予測した結果を比較するために、bank.csvから”y”の値を空欄にした物をアップロードします。
予測する列の出力形式自体も設定が可能です。設定では確率かフラグを設定することができるので、YesかNoかシンプルに知りたいということであればフラグを選択してください。そして、ファイルをアップロードするとたった数秒で”y”に予測結果を入れたデータが生成されます。クリックしてダウンロードした予測結果と実際の結果を集計したものが以下となります。
実際の結果がTrue | 実際の結果がFalse | 合計 | |
予測(True) | 463件 | 211件 | 694件 |
予測(False) | 58件 | 3,769件 | 3,827件 |
VARISTAの予測により4,521件の顧客リストから定期預金に加入の可能性がある顧客を約7分の1の694件まで絞り込めています。そして、694件の3分の2が実際に定期預金へ加入する結果です。この結果ならば業務の効率化として十分取り組めるレベルだと思います。
また、今回作成したAIモデルに対してスコアを改善することができるというアドバイスが結果とともに表示されました。
学習用として使用したbank-full.csvは”y”が「No」である数が圧倒的に多かったので「Yes」と「No」の数を同じにしたデータを作成し、そのデータを用いて新しくAIモデルを作成しました。新しく作成したAIモデルのスコアは98と非常に高いAIモデルが作成できました。しかし、今度は「過学習またはデータリークの可能性があります。」というアラートが表示されてしまいました。
試しに、スコアは98のAIモデルを使って予測を行った結果は、最初に作成したスコア63のAIモデルより大きく劣るものでした。この結果から、単純にスコアが100に近ければ近いほど良いAIというわけではないということです。
そもそも、完璧な的中率のAIモデルを作成できることは理想ですが、それは不可能です。ならば完璧なAIモデルの作成に時間をかけるより、ある程度の精度でもすぐに予測結果を得られる方が価値があると私は思います。
今回はVARISTAを用いましたが、誰でも簡単にAIモデルの作成と予測をその日から無料で始めることができます。マーケティング施策が増え続ける中で、AIモデルを使うことでの効率化、顧客の獲得コストの削減、それによる顧客の増加が期待できます。それ以外にも顧客体験の向上のヒントが見つかるかもしれません。
AIモデルを使った予測をやってみたいけど技術的なことは難しくて分からないと思っていた人は、この機会にぜひ挑戦されてみてはいかがでしょうか。