2023-03-27
機械学習においては、分析モデルの構築を自動化するアプローチが知られています。反復的に学習するアルゴリズムを使用することでデータ内の隠れたパターンを明らかにし、信頼性が高く、再現可能な結果を導き出すことができます。本稿では、機械学習を用いたデータ分析の一般的なプロセスと方法論についてご紹介します。
機械学習モデリングの一般的なプロセスは、(1)ビジネス理解、(2)データ理解、(3)データ準備、(4)モデリング、(5)評価検証、(6)適用の6つに大きく分けられます。さまざまな情報を統合・活用するためにデータ分析の基盤が使われていますが、理解が深まるにつれてモデルの精度を向上させるために、新しい有効なデータも収集する場合もあります(図表1参照)。
図表1.機械学習を用いたデータ分析の流れの全体像
図表1を通じて、機械学習の一般的な手順や全体的なフレームワークを直感的に理解できるかと思います。次に、データサイエンティストに最も関連性の高い部分である「データ理解」「データ準備」「モデリング」「評価・検証」について説明します。
データを理解するためには、データ数、平均や中央値、標準偏差などの統計量を確認する必要があります。統計量の確認は前処理の手法判断だけでなく、データ収集プロセスの課題発見にも繋がります。そこで、これらの統計情報取得のために、データ分析などに標準で用いられるPython Pandasを用いると、下記3つがあります。
図表2.探索的データ解析ツール
なぜ前処理が必要かというと、入手したデータが不正確であったり、一貫性がなかったりすることから、機械学習に直接使用できないケースが多々見受けられるからです。そのため、何かしらの処理を加えて“きれいな”データに整えてあげる必要があるのです。私が実際のプロジェクトでよく実施する処理としては、大きく分けて5つの項目が挙げられます。
これに対応するためには、まずはビジネスロジックを理解することが重要です。欠損値のあるデータについては変換、もしくは削除することが多いですが、場合によってはこれらのデータは無視することが最も適切であることもあります。例えばアンケートデータを整理する時、答えがない、もしくはアンケートの設計に沿って答える必要がない質問は「N/A」(Not Available)のままにしておくほうが、より筋道が通った処理と思います。
文字列データを数値データに変換するプロセスです。例えば喫煙状況を調査する場合、タバコの本数を問わず、喫煙する人を「1」、吸わない人を「0」に全て変換し、それ以外の余計な情報を捨てるという処理が考えられます。
業界知識に基づいた処理です。重複データやモデルでは、不要な特徴量を削除します。特に、性別や人種などの情報は、倫理的な問題を伴う可能性があるので、取り扱いには十分注意すべきです。
例えば、各特徴量の値の幅を揃え、共通のスケールで、公平に特徴量を比較できるようにするため、「Rescaling / Normalization処理」を行います1。学習のための処理にはさまざまなテクニックがあります。データの種類によってもまたそれぞれ独自の手法があります。しかし、どのような処理でも必ずアルゴリズムのパフォーマンス向上を保証できるわけではないので、試行錯誤しながら、最適な処理を選ぶ必要があります。
モデルの精度を向上するため、手動で特徴量の変換を行う場合もあります。特にデータ量が足りない場合、既存の特徴量からドメイン知識などを活かして、新しい特徴量を作成します。
図表3.データの前処理
特徴量を選択することで、「モデルの精度の向上」「計算コストの削減」「説明可能なモデルにする」などのメリットが得られます。余分な特徴量を含めたままで学習させてしまうと、本来のパターンを見つけることができなくなるので、不要な特徴量を削除するのが一般的なやり方です。
その中で、Filter法、Wrapper法とEmbedded法の3種類の手法があります2。
図表4.特徴量の選択
Pythonでの可視化にはmatplotlib.pyplot、seabornといったライブラリがよく使われています。Seabornは初心者でも簡単で綺麗な可視化が得られます。Pyecharts、Bokeh、Plotlyを使うと、インタラクティブなグラフを作ることできます。TableauとPower BIはプログラミングをする必要がないので、プログラミング経験のないビジネスエキスパートでも使うことができます。
機械学習のモデルは数えられないほど多くあります。そこに、どのようなアルゴリズムを使えばいいのかを判断する必要があるのですが、Scikit-learnのチートーシートがよく使用されています3。このチートーシートは回帰、分類、クラスタリング、次元削減の4種類に分けられており、最大4回の二択問題で判断することが可能です。
私が今まで参加したプロジェクトで使用された代表的なモデルを図表5にまとめました。「教師データあり」と「教師データなし」の2種類があります。大半のプロジェクトでは予測結果の説明が要求されるので、「教師データあり」のモデルはほぼ可読性に”〇”がついているモデルを使いました。その他、「教師データなし」のK-MeansとLDAにおいては、クラスタリングのロジックが多くの場合ブラックボックスになっています。今までのプロジェクトではコンサルタントと連携し、予測結果が論理的かどうかを確認する進め方で検証してきました。
図表5.よく使用される代表的なモデル
モデルの評価と検証方法は技術者やプロジェクトによって異なりますが、私が参加したプロジェクトでは業務ロジックの検証とモデルのパフォーマンス検証の2種類を実施しました。
図表6.ホールドアウト交差検証
ここまで、機械学習での重要な「データ理解」「データ準備」「モデリング」「評価・検証」という4つのプロセスについて簡単に説明してきました。実際にモデリング構築を行うにあたっては、さまざまな問題が生じます。データやニーズに応じて適切な手法を選択し、必要に応じて組み合わせて対応することが必要です。そこが機械学習の興味深いところです。
1.機械学習に向けてのデータ前処理
https://avinton.com/blog/2018/01/data-processing/
2.機械学習で特徴量を正しく選択する方法
https://rightcode.co.jp/blog/information-technology/feature-selection-right-choice
3.Choosing the right estimator
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
4.代表的な機械学習手法一覧
https://qiita.com/tomomoto/items/b3fd1ec7f9b68ab6dfe2
Amy Yu
マネージャー, PwC US Advisory Shanghai AC
AI技術開発における8年以上の経験があり、主にデータ分析、画像処理、自然言語処理のソリューション開発を担当
(1):テック人材の採用と維持における企業の課題
(2):フィーチャーエンジニアリングとは?
(3):SNSを活用したコロナ禍における人々の心理的変化の洞察
(4):自然言語処理(NLP)の基礎
(5):今、データサイエンティストに求められるスキルは何か?データサイエンティスト求人動向分析
(6):コロナ禍における人流および不動産地価変化による実体経済への影響
(7):「匠」の減少―技能継承におけるAI活用の道しるべ
(8):開示された企業情報におけるESGリスクと財務インパクトの関係性の特定
(9):ビッグデータ分析で特に重要な「非構造化データ」における「コンピュータービジョン(画像解析)」とは
(10):自然言語処理・数理最適化による効率的なリスキリングの支援
(11):スポーツアナリティクスの黎明 サッカーにおけるデータ分析
(12):AIを活用した価格設定支援モデルの検討―外部環境変化に即座に対応可能な次世代型プライシング
(13):MLOps実現に向けて抑えるべきポイントー最前線
(14):合成データにより加速するデータ利活用
(1):ブロックチェーン技術の成熟度モデルとステーブルコインの最新動向について
(2):3次元空間情報の研究施設「Technology Laboratory」のデジタルツイン構築とデータの管理方法
(3):3次元空間情報の研究施設「Technology Laboratory」における共通ID「空間ID」と自律移動体の測位技術
(4):G7群馬高崎デジタル・技術大臣会合における空間IDによるドローン運航管理
(1):COVID‐19パンデミック下のオンプレミス環境におけるMLOpsプラクティス
(2):機械学習を用いたデータ分析
(3):AWSで構築したIoTプラットフォームのPoC環境をGCPに移行する方法
(4):テクノロジーの社会実装を高速に検証するPwCの独自手法「Social Implementation Sprint Service」-テクノロジー最前線
(5):自動車業界におけるデジタルコックピットの擬人化とインパクト
(6):成熟度の高いバーチャルリアリティ(VR)システム構築理論の紹介
(7):イノベーションの実現を加速する「BXT Works」とは
(8):Power Platformの承認機能、AI Builderを活用して業務アプリを開発する方
(9):社会課題の解決をもたらす先端テクノロジーとディサビリティ インクルージョンの可能性