![見出し画像](https://assets.st-note.com/production/uploads/images/79210935/rectangle_large_type_2_dfe2a5a1cf12e60db93212fe562ccbb2.jpeg?width=800)
【DataRobotを用いた画像分類】DataRobotシリーズ その3
こんにちは。スキルアップAI編集部です。
これまでのDataRobotシリーズでは、DataRobotの基本的な使い方や異常検知を行う方法についてご紹介しました。
実務においては、機械学習によって画像を分類したいという場面がよくありますが、DataRobotではその画像分類も行うことが可能です。
今回は、DataRobotを用いた画像分類の方法についてご説明します。
1.画像分類の概要
今回は、DataRobotの「Visual AI」という機能を用いて、画像データとテーブルデータを組み合わせた多値分類を行う方法をご紹介します。「Visual AI」とは、画像を用いたモデルの作成や利用を自動化する機能です。
例として今回は、皮膚の病変部位に対する病気の特定を画像分類によって行ってみたいと思います。
2.画像分類の手順
次の手順で画像分類を行っていきます。
データの準備
データの読み込み
モデリング
ブループリントを確認する
特徴量のインパクトを確認する
アクティベーションマップを確認する
多値分類問題の評価指標を確認する
まず、①の「データの準備」から行っていきます。
今回用いるCSVファイルには、症例IDや病気の種類、患者の年齢、性別、病変部が身体のどの箇所にあるかといった情報が格納されています。
画像を読み込むには、このCSVファイルに画像ファイルへのパスを記載した「image」という列を新たに用意し、CSVファイルと画像を紐づけする必要があります。
![](https://assets.st-note.com/img/1653374602637-n8kzNLbjFb.png?width=800)
DataRobotでデータを読み込むため、CSVファイルと画像ファイルが格納されたフォルダを作成し、圧縮します。
![](https://assets.st-note.com/img/1653374617058-8ywUOrxl1u.png?width=800)
次に、作成したZIPファイルをDataRobot上で読み込みます。
![](https://assets.st-note.com/img/1653374634318-hxqvpkL4Tz.png?width=800)
以上でデータの読み込みが完了しました。
次に、読み込んだデータを用いてモデリングを行っていきます。
まず、先ほど読み込んだデータがDataRobot上に正しく取り込まれていることを確認します。
![](https://assets.st-note.com/img/1653374649704-6h19gGd7Nv.png?width=800)
![](https://assets.st-note.com/img/1653374660266-WIWyDFUrNb.png?width=800)
![](https://assets.st-note.com/img/1653374669814-JaGxdBc1Oq.png?width=800)
これで画像が正常に取り込まれていることが確認できました。
次に、予測したいターゲットを設定します。今回は病変の種類を予測するため、病気の種類が格納された「dx」という特徴量をターゲットとします。
![](https://assets.st-note.com/img/1653374686538-LFLY8QOIuR.png?width=800)
画面中央の「開始」をクリックし、モデリングを開始します。
この際、モデリングモードが「クイック」になっていることを確認します(モデリングモードをクイックにすると、通常の4分の1程度の時間で完了することができます)
![](https://assets.st-note.com/img/1653374697229-9h1bk4ojQ6.png?width=800)
モデリングが完了すると、「オートパイロットが終了しました」と表示されます。
![](https://assets.st-note.com/img/1653374708673-OYbBjotwUz.png?width=800)
以上でモデリングが完了しました。
次に、画像データがモデルにおいて処理されていることを確かめるため、ブループリントを確認します。
![](https://assets.st-note.com/img/1653374738280-DXx76yfdHN.png?width=800)
![](https://assets.st-note.com/img/1653374759842-j46UjEUfl0.png?width=800)
![](https://assets.st-note.com/img/1653374770282-6t7VU99FXV.png?width=800)
![](https://assets.st-note.com/img/1653374792157-R9SBUqwPrf.png?width=800)
ブループリント内で画像データが処理されていることが確認できます。
![](https://assets.st-note.com/img/1653374807448-tuj1JckpXt.png?width=800)
以上で画像データがモデルにおいて処理されていることを確認できました。
次に、モデルに用いた各特徴量のインパクトを調べます。
![](https://assets.st-note.com/img/1653374847849-5LrHcM1cr8.png?width=800)
画像がどの程度予測に寄与しているのかを確認できます。今回の例では、画像が予測に対して全体の特徴量の約 23% 寄与していることがわかりました。
![](https://assets.st-note.com/img/1653374861708-twXFzcjNP1.png?width=800)
次に、アクティベーションマップを確認します。
アクティベーションマップとは、モデルが画像のどの部分を注視して予測を行っているかを可視化したものです。
![](https://assets.st-note.com/img/1653374876903-CDu5LHanpm.png?width=800)
![](https://assets.st-note.com/img/1653374886921-L2SErw6DJT.png?width=800)
アクティベーションマップが表示できました。
画像の着色部分は赤くなっている箇所ほど予測に寄与していることを表しています。このように、DataRobotでは画像の一つひとつにおいて重要度が高い部分を調べることができます。
![](https://assets.st-note.com/img/1653374904903-xL1t1dbU0A.png?width=800)
次に、多値分類問題の評価指標を確認します。
DataRobotでは、混同行列や性能評価指標を確認することができます。
![](https://assets.st-note.com/img/1653374921022-ozneaoZbsC.png?width=800)
混同行列の見方は以下の通りです。
![](https://assets.st-note.com/img/1653374935641-z6DCTpcVNX.png?width=800)
![](https://assets.st-note.com/img/1653374941893-Lu0xvwG0QZ.png?width=800)
今回のモデルでは、予測精度が 93.75%、F1スコアが 0.96、recallが 1、precisionが 0.92 であることがわかります。
![](https://assets.st-note.com/img/1653374956341-ZXLGDupiV4.png?width=800)
3.まとめ
今回は、画像データとテーブルデータを用いて画像を分類する方法をご紹介しました。
もちろん、画像データのみを用いて画像を分類するモデルも作成することができます。ぜひいろいろ試してみてください。
スキルアップAIでは、関連講座として「現場で使えるAIプランニング・プロジェクト推進基礎講座(DataRobot活用編)」を開講中です。 本講座では、AIプランニング・プロジェクト推進基礎講座で学ぶPoCフェーズにおいて、実際にDataRobotを活用してケースデータに対してPoCを実施することで、アイディエーションに留まらないプロジェクト推進のイメージを持てるように工夫しています。是非ご検討ください。
☆☆☆
スキルアップAIのメールマガジンでは会社のお知らせや講座に関するお得な情報を配信しています。
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
Twitterはこちら
Facebookはこちら
LinkedInはこちら
スキルアップAI公式YouTube AIビジネスチャンネルはこちら
この記事が気に入ったらサポートをしてみませんか?