1. HOME
  2. データサイエンス
  3. PythonやRを使用したデータ分析~評価指標を踏まえた運用の仕方~

PythonやRを使用したデータ分析~評価指標を踏まえた運用の仕方~

今回は「評価指標を踏まえた運用の仕方」として、予測モデルを作成できた後に、その予測値をどのように使うのかについて一例を用いて紹介する。そのあとにビジネス上気を付けるリークについていくつか紹介し、最終的には人間がしっかりと検証の枠組みを考えることをお伝えする。最後にデータ分析で大事なことをまとめる。

PythonやRを使用したデータ分析~評価指標を踏まえた運用の仕方~
  1. 運用の仕方例(PrecisionとRecall)
  2. ビジネス上のリーク
  3. 検証の枠組みを「人間」がしっかり考える
  4. データ分析で大切なこと
※この講座は所属企業や所属団体とは一切関係ありません

運用の仕方例(PrecisionとRecall)

予測モデルができても、それだけでは何も運用できない。では、その予測値を使ってどのようにビジネスに役立てるのかについて簡単な例を用いて説明する。

例えばあるサービスの不正利用者を予測し、不正利用している確率を出力する予測モデルが出来たとする。このとき, 一人も不正利用者を逃したくなければ予測モデルの出力値に関係なく、全件を人間が目で見てチェックすれば良いが、それでは人件費がかかりコストが大きい(人間が目検をすると不正していることは分かるものとする)。不正利用者は利用者全体の0.1%しかいないと仮定する(例えば正しい利用者99,900人、不正利用者100人)と、人間による目検のほとんどが正しく利用している人の確認となって無駄が多い。

そこで予測モデルの出力値を高い順に並べて、ある数値(=目検閾値)よりも高いものは予測モデルが不正利用者と予測したとみなして目検をし、低いものは不正利用をしていないとして、目検をしないとする(つまり、不正利用者が含まれていたら見逃される)。

このとき、目検する対象の不正利用率(=目検される不正利用者数/目検される数)をPrecisionといい、全体の不正利用者の内で目検対象に含まれている不正利用者の割合(=目検される不正利用者数/全体の不正利用者数)をRecallという。このPrecisionとRecallはトレードオフの関係にあり、一方を高めようとするともう一方が低くなってしまう。下記は、ある不正利用データに対して不正利用者を予測するモデルの出力値に対して、目検閾値を変化させたときのPrecisionとRecallの関係である。

上記の図を見て分かるように、Precisionを高くするような目検閾値を選ぶとRecallが低くなってしまい不正利用者を多く見逃してしまう。

逆にRecallを高くするような目検閾値を選ぶとPrecisionが低くなってしまう。このとき、目検閾値が高いと目検数はもちろん少なく、目検閾値が低いと目検数は多くなる。

したがって、目検閾値をどのような値に設定するのかは、不正利用者をどれくらい見逃してよい問題なのか?コスト削減の重要度はどれくらいなのか?を天秤にかけて、そのプロジェクトについての背景を考慮した上で、丁度良い目検閾値を設定する必要がある。このように、目検閾値をプロジェクトの意思決定者とすり合わせてから、実際に運用するケースがある。

▼データサイエンスを基礎から応用まで学ぶ
【オンライン受講】【データサイエンス実務基礎】Pythonで体感!はじめての機械学習
【会場受講】【データサイエンス実務基礎】Pythonで体感!はじめての機械学習
【オンライン受講】【データサイエンス実務応用】Pythonで実践!ディープラーニング
【会場受講】【データサイエンス実務応用】Pythonで実践!ディープラーニング

ビジネス上のリーク

リークとは、本来想定されていない方法で、目的変数あるいはそれに近いものが説明変数に漏れていて、機械学習モデルが学習できてしまうことである。リークの例は沢山あるが、いくつか挙げると以下の点などがある。

  • 未来の情報が入っている
  • 無意味と思ったIDに意味がある
  • 検証データとしてHold Outしたつもりが正しく分割できていない(実質同じデータが構築と検証に混在している)

リークは説明変数の選択や、モデル構築データとモデル検証データの設計時に発生し、自動でリークを検出するのは現状では難しい。

検証の枠組みを「人間」がしっかり考える

上記のリークで説明した通り、構築した予測モデルをどのようなデータで検証するのかについては統計や機械学習では解決ができません。なぜならば、元となるデータの生成過程やデータ周りの知識が重要となるからです。したがって「人間」がしっかりと考えて検証を行わなければいけなく、2,3年後に自動化されるようなものでもありません。

データ分析で大切なこと

全4回で一貫して伝えたかったこととしては、機械学習やデータ分析は泥臭いものであり、決してバズワードとしてのデータサイエンティストのように、華やかさだけの職業ではなく、泥臭い職人のような職業であるということです。

全4回を通して機械学習に興味を持って頂き、機械学習を勉強していただけたら、この記事の目的としては幸いです。最後にデータ分析で大事なことはデータを穴が開くほど眺めること、まずは手を動かすことなどです。ぜひ第一歩を踏み出して頂けたらと思います。

▼データサイエンスを基礎から応用まで学ぶ
【オンライン受講】【データサイエンス実務基礎】Pythonで体感!はじめての機械学習
【会場受講】【データサイエンス実務基礎】Pythonで体感!はじめての機械学習
【オンライン受講】【データサイエンス実務応用】Pythonで実践!ディープラーニング
【会場受講】【データサイエンス実務応用】Pythonで実践!ディープラーニング
寄稿
Kaggle Master
佐野 遼太郎 氏
Kaggle Masterの称号を持つ。2015年4月よりコンサルタント
として金融機関を中心としたデータ分析・モデル構築業務に従事。
2018年2月にKaggler枠でディー・エヌ・エーに入社、現在は
Mobility Technologiesに出向中。また、2016年から
社外データ分析講座講師として300人を超えるデータ分析技術者の
人材育成に関わっている
※経歴などは2021年3月末時点のものです
データサイエンスカテゴリのオススメの記事
講義へのICT活用を積極化する中央大学は、どのようにしてデータマネジメントを実践しているのか?

新型コロナウイルス感染症は、世の中に大きな影響与えているが教育現場への影響は計り知れない。そんな中、中央大学ではICTの活用を積極的に取り組んでいる大学の一つだ。本稿では、中央大学のICT教育におけるデータマネジメントのICTサービスを安定的に提供しているのか事例を紹介する。

機械学習モデルにおけるカテゴリ変数の数値化手法4選~扱い方から注意点

今回は「機械学習モデル」を使う上でポイントとなるカテゴリ変数の数値化手法に焦点を当て、代表的な4つの数値変換手法、①One hot Encoding、②Label Encoding、③Count Encoding、⑤Target Encodingについて解説するとともに、カテゴリ変数を扱う上での注意点についても解説する。

AIの機械学習と決定木モデル「過学習」を防ぎ予測精度を推し量る

今回は「機械学習モデルの作り方」として、業務でも使われることの多い決定木モデルを例にして予測値を算出するまでの流れと精度検証方法についての概要を解説する。世の中のAI(人工知能)と呼ばれているものの中には決定木モデルも含まれており、AIって何でもできそうなイメージを持っていたりする人が「AIとはこんなものなのか」と思っていただけたら幸いである。また、詳細は扱わないが「過学習」と「精度検証方法」についても概要を解説するので、機械学習モデルの精度検証方法のイメージを持っていただけたらと思っている。

モンテカルロシミュレーションや最適化計算、 リテール分野のCX高次化への応用

量子の不思議なふるまいを利用して圧倒的な計算速度を可能にする量子コンピュータ(=量子計算機)は、海外の金融機関も熱い眼差しを注ぐ。金融業界での活用の展望について有識者に話を聞いた。

【 寄稿 】
Kaggle Master

佐野 遼太郎 氏