機械学習におけるデータの可視化とは

公開日 2026年05月4日
By Jobit Varughese

データの可視化の説明

データの可視化とは、チャート、グラフ、プロット、ダッシュボードなどの視覚要素を使用してデータをグラフィカルに表現することです。利害関係者や非技術系のオーディエンスが、複雑なデータを解釈し、意思決定に利用するのに役立ちます。

機械学習(ML)においては、単にダッシュボードやレポートを構築するだけではありません。MLモデルの構築、デバッグ、改善までが範囲に含まれます。トレーニングの前にデータを調査し、トレーニング中には発生した事象を監視し、評価後には何が問題だったのか、あるいは正しかったのかを診断するために使用します。提示することよりも、調査することのほうが重要です。

実際には、両者は重複する部分があります。優れた機械学習の実践者やデータサイエンスの専門家は、データの可視化を使用して、自身が問題を発見したりモデルを最適化したりするほか、他のユーザーのために成果を説明したり、モデルの出力に対する信頼を構築したりします。

機械学習におけるデータの可視化の重要性

機械学習におけるデータの可視化は、モデルの品質、下す意思決定、および自分の作業に対する他者の理解度に直接影響します。

  • データの問題を早期に発見:モデルを構築する前に、データをクリーンで信頼できる状態にする必要があります。問題は、データ品質の問題のほとんどが、プロットで明らかになるまで、スプレッドシート上では表面化しないことです。
  • 要約統計では見逃している関係性を提示:平均値や相関係数などの数値だけでは、ストーリーの一部しかわかりません。2つの変数の相関スコアは同じでも、実際にはまったく異なる振る舞いをすることがあります。データの可視化は、関係の大きさだけでなく、その形も明らかにします。
  • 特徴量の選択や特徴量エンジニアリングの意思決定をサポート:どの特徴量を保持するか、変換するか、削除するかを決めることは、機械学習の中でも最も重要かつ難しい作業の1つです。可視化により、これらの意思決定がより根拠に基づいたものになります。
  • モデルの失敗を可視化:97%精度を報告するモデルでも実際にはまったく信頼できないことがあります。単一のメトリクスではそれがわかりません。可視化ツールは、誤解を招く表面的な数字に惑わされず、モデルがどこで、どのように失敗しているかを正確に明らかにします。
  • 技術者以外のチームが情報に基づいた意思決定を行うのを支援:経営幹部、製品リーダー、顧客は、損失チャートや詳細なメトリクス・レポートを精査するわけではありません。必要なのは、すぐに解釈できる情報です。優れた可視化により、モデル性能が明確で直感的な図やグラフに変換され、誰もが簡単に理解できるようになります。ダッシュボードやシンプルな視覚的要約が重要なのはそのためです。

MLワークフローにおけるデータの可視化の位置づけ

可視化は、未加工データを受け取った瞬間からモデルの最終評価まで、MLワークフロー全体で活用されます。ここでは、各段階でそれがどのように使われるかを説明します。各段階で言及する可視化手法については、後続セクションで詳しく説明します。

データ収集と初期の品質チェック

分析を始める前に、扱うデータの状態を理解する必要があります。つまり、欠損値や一貫性のないデータ型、重複レコードを確認します。この段階でデータに構造的な問題があると、その後のすべての処理に密かに悪影響が及ぶためです。欠損値のヒートマップ、データ型の分布図、レコード出現頻度を示すグラフを使用すると、本格的にな作業に時間を費やす前に、データの健全性をすばやく確実に把握できます。

探索的データ分析(EDA)

探索的データ分析では、ヒストグラム、散布図、相関行列、ボックス・プロット、ペア・プロットを使用して、生の数値だけでは明らかにならないパターン、異常、関係を表面化させることで、データ・セットを構築する前に構造、分布、関係を把握するのに役立ちます。EDAは本質的に、繰り返し行う作業です。何かを可視化し、仮説を立て、テストし、データが伝えていることを本当に理解するまで、何度も可視化を繰り返します。

特徴量エンジニアリング

未加工データを理解したら、モデルに使う特徴量の変換と選択を始めます。この段階で可視化すると、変換が期待どおりに機能しているかを確認でき、どの特徴量が実際に役立つかを見極めやすくなります。分布図や特徴量の重要度を示すグラフを読み解いたり、目的変数で分けたグループごとに特徴量がどう振る舞うかを把握したりすることで、前処理を場当たり的に行うのではなく、明確な根拠に基づいて選択できるようになります。

モデルの学習

機械学習モデルの学習中は、可視化の役割はデータの調査から、モデルの学習プロセスの追跡へと変わります。学習曲線や損失曲線などのチャートによって、モデルが改善しているか、伸び悩んでいるか、または過学習を起こしているのかがわかります。こうしたフィードバックをもとに、学習が完了する前にハイパーパラメータをファイン・チューニングしたり、正則化を調整したり、学習期間を変更したりできます。

モデルの評価

学習後の可視化によって、単一の精度の数値だけではわからない、モデルの実際の性能を真に理解することができます。混同行列、ROC曲線、適合率-再現率曲線、残差プロットはそれぞれ異なる側面からモデルの振る舞いを明らかにします。性能をクラスごと、しきい値ごと、予測値の範囲ごとに分類するため、モデルがどの程度うまく機能するかだけでなく、どこでうまく機能し、どこに課題があるかまで把握できます。

機械学習におけるデータの可視化手法の種類

機械学習で使用されるデータの可視化の種類を理解するには、単にチャートの名前だけでなく、ユースケースの観点から考えることも必要です。ここでは、用途に沿って体系的に説明します。

EDAのための可視化

ヒストグラム

ヒストグラムは、単一の数値特徴量がどのように分布しているかを示します。x軸では値をビン(区間)に分割し、y軸では各ビンに含まれるデータ・ポイントの数を表します。Pythonのmatplotlibやseabornなどのツールを使用してヒストグラムをプロットすることで、特徴量の分布が正規分布に近いのか、右に裾が長いのか、山が2つあるのか、均一分布に近いのかをすばやく確認できます。

各パターンは、適切な前処理を考える手がかりになります。たとえば、製品価格のヒストグラムで、そのほとんどが50米ドル未満に集中する一方、500米ドルまで長い裾が伸びているとします。このような分布は、モデルに使用する前にログ変換を行うと効果的である可能性を示しています。

散布図

散布図は、2つの数値変数をx軸とy軸に配置し、各データ・ポイントを点で表します。これらは、線形パターンと非線形パターンの両方を見つけたり、クラスターが形成される場所を特定したり、残りのデータから大きく離れた外れ値にフラグを立てるのに役立ちます。たとえば、住宅の広さと販売価格をプロットすると、特定のサイズのしきい値までは価格が明確な上昇傾向を示し、その後横ばいとなる場合があります。これは、学習前に調査する価値のあるパターンです。

相関行列(ヒートマップ)

相関行列は、データ・セット内のすべての数値特徴量について、各ペアの相関を示します。ヒートマップとしてレンダリングされると、セルの色が相関の強さでエンコードされ、多重共線性が一目でわかります。相関係数が0.95以上の特徴量は、情報が重複しているため、特徴量選択で除外の対象となることがよくあります。

相関は線形の関係のみを捉えるため、相関係数がほぼゼロでも、2つの特徴量が独立しているとは限りません。たとえば、住宅データセット内「総部屋数」と「総ベッドルーム数」は、ほとんどの場合非常に高い相関関係を示し、両方を保持してもモデルに新しい情報が追加されることはありません。

箱ひげ図

箱ひげ図は、中央値、データの主要範囲である四分位範囲、外れ値を示し、変数のばらつきを簡単に要約できます。機械学習では、目的変数で分けたグループ間で数値特徴量がどう異なるかを比較する際に、特に役立ちます。たとえば、ローンの返済を滞納した人と、しなかった人の所得を比較する場合です。

ペア・プロット

ペア・プロットは、データ・セット内の特徴量のすべての組み合わせについて散布図のグリッドを生成し、格子状に並べたものです。対角線上にはヒストグラムまたは密度プロットを配置します。Seabonのpairplot()関数を使えば、1行でこれらのプロットを生成できます。10~15個までの特徴量を持つデータセットの場合、多数のプロットを個別に作成しなくても、複数の変数の関係をすばやく概観できます。

ここでいう特徴量とは、年齢、収入、購入頻度など、データ・セットの個々の列を指します。たとえば、売上データ・セットのペア・プロットから、収益と販売数は密接に連携している一方で、割引率はそのどちらともあまり関係していないことが、すぐにわかる場合があります。このような発見は、どの特徴量を保持しておくべきかを判断するのに役立ちます。

密度プロット

密度プロットは、ヒストグラムをより滑らかにしたようなグラフです。2つのグループ間で、特徴量の分布を比較するのに役立ちます。曲線が大きく離れていれば、その特徴量は一般的に高い予測力を持ちます。一方、曲線が重なっている場合は、予測への有用性が低くなります。

たとえば、リピーターの顧客と離脱した顧客の「購入頻度」の密度をグラフ化し、2つの曲線の山が明らかに分かれていれば、その特徴量が顧客離脱予測モデルで役立つことを示す良い兆候です。

特徴量エンジニアリングのための可視化

特徴量重要度のプロット

モデルの学習後に特徴量の重要度スコアを抽出し、棒グラフで可視化すると、どの特徴量が最も重要かを確認できます。代表的なのが決定木に基づくモデルで、これらの重要度スコアを標準的に提供します。重要度が極めて低い特徴量は、除外の有力な候補になることがあります。PlotlyやMatplotlibなどのツールを使えば、特徴量が多い場合でもチャートを簡単に作成できます。

分布比較プロット

分布比較プロットは、スケーリング、エンコード、ログ変換などの処理の前後で特徴量の分布を比較し、前処理が意図した効果をもたらしたかを確認するためのグラフです。この比較が重要なのは、不適切に変換された特徴量をモデルに取り込むと、予測が歪む可能性があるためです。変換前後のプロットを並べるだけでも、学習に進む前にこうした問題を検知できます。

モデル学習のための可視化

学習曲線

学習曲線は、Y軸にモデルの性能(精度または損失)、X軸に学習データのサイズまたは学習の反復回数をプロットし、学習用と検証用に別々の線を描く、モデル学習の可視化手法です。

このグラフによって、機械学習モデルでよく見られる2つの問題を診断できます。過学習では、学習データと検証データに対する性能に大きな差が生じます。過小学習では、両方の性能が低いまま、曲線が早い段階で頭打ちになります。学習曲線を確認することで、モデルの複雑さ、正則化、学習データの量を、推測ではなく問題に応じて調整できるようになります。

損失曲線

ディープラーニング・モデルでは、エポック数に対する学習損失と検証損失のプロットを描くのが標準的な方法です。学習損失が低下し続ける一方で、検証損失の改善が止まったり、増加し始めたりした場合は、学習を早期に終了する目安になります。これらのプロットは通常、TensorBoardなどのツールを使用して、学習中にリアルタイムで生成されます。

折れ線グラフ

より広義には、精度、F1スコア、曲線下面積などのメトリクスを、学習の反復回数に沿って追跡する折れ線グラフによって、モデルがどのように進化しているかを継続的に把握できます。学習終了時の単一のメトリクスよりも多くの情報が得られるのは、最終結果だけでなく、そこに至る過程もわかるからです。

モデル評価のための可視化

混同行列

混同行列は、モデル評価の可視化手法の一種で、実際のクラス・ラベルと予測したクラス・ラベルのすべての組み合わせを格子状に並べます。二値分類では、真陽性、真陰性、偽陽性、偽陰性を示し、モデルがどこで正しく予測し、どこで間違えているかを正確に確認できます。

混同行列は、多くの分類メトリクスの基盤となります。精度、再現率、F1スコアはすべてこれによって算出されます。件数や割合を数値で記したヒートマップにすると、クラスごとの問題をすぐに把握できます。精度に関しては「良さそう」に見えるモデルでも、重要なクラスをまったく正しく検出できていなければ、その問題が混同行列に明確に表れます。

ROC(受信者動作特性)曲線

ROC曲線は、分類のしきい値を0から1まで変化させたときの、真陽性率と偽陽性率を示すグラフです。曲線下面積(AUC)は、モデルの全体的な識別能力を1つの数値で表したものです。0.5はランダムな推測で、1.0は完全な識別を表します。ROC曲線は、複数のモデルを比較する場合や、偽陽性と偽陰性による損失が異なる場合に特に役立ちます。scikit-learnやplotlyのようなツールには、ROC曲線を作成する機能が備わっています。

適合率-再現率曲線

データ・セットが大きく偏っている場合、適合率-再現率曲線は、ROC曲線よりもモデルの性能をより忠実に把握できます。優れた分類器の曲線はプロットの右上に近づき、再現率を犠牲にすることなく高い適合率を維持します。このグラフでは、さまざまな判定しきい値にわたって、Y軸に適合率、X軸に再現率をプロットします。

医療診断や不正アクセス検知などのリスクの高い分野では、まれなケースを捕捉できないことが誤報よりもはるかに被害が大きいため、この曲線から他のどの手法よりも有益な情報が得られることがあります。

残差プロット

回帰モデルの残差プロットは、予測値と実測値の差である残差をY軸、予測値をX軸に示します。残差は、明確なパターンを持たず、ゼロを中心にランダムに散在していることが望まれます。残差がファンアウトしていたり、規則的な曲線を示していたり、またはクラスター化していたりする場合は、モデルに構造的な問題があり、データ内の関係の一部を十分に捉えられていない可能性があります。

機械学習における一般的なデータの可視化ツール

Matplotlibは、多くの可視化ツールの基盤となるオープンソースのライブラリです。「plt」としてインポートすることが多い「pyplot」モジュールは、ヒストグラム、散布図、折れ線グラフ、棒グラフなど、幅広い標準的なグラフに対応しています。新しいライブラリと比較すると冗長になりがちですが、その分、注釈、軸ラベル、図のレイアウトやサイズ設定など、あらゆる詳細を正確に調整できます。

Seabornはmatplotlibを基盤としており、定型的なコードを大幅に減らせます。matplotlibでは15行ほど必要になるヒートマップ、ペア・プロット、箱ひげ図も、Seabornなら1~2行で作成できます。pandasのDataFrameから直接読み込めるため、Jupyter Notebook環境でのEDAに最適です。

操作できるグラフを作りたい場合には、Plotlyが最適です。チャートはHTMLでレンダリングされ、閲覧者はデータ・ポイントの上にカーソルを合わせて詳細を確認したり、拡大したり、系列の表示を切り替えたりできます。そのため、ダッシュボードやWebレポートを通じて利害関係者に結果を提示する際には、静止画像よりもはるかに便利です。

NumPy自体は可視化ツールではありませんが、matplotlibとseabornが依存している配列操作や、x軸/y軸に使うデータ準備を処理する、ほぼすべての可視化ワークフローを支える基盤です。

Yellowbrickは、MLの評価に特化して構築されています。scikit-learnと連携し、単一の関数呼び出しで混同行列、ROC曲線、学習曲線、特徴量重要度プロットを生成できます。Matplotlibで必要になる、データと描画処理を手動で組み合わせるコードを省けます。

TensorBoardは、ディープラーニングの可視化を担います。学習中の評価メトリクス、損失曲線、モデルの構造をリアルタイムで表示でき、大規模なデータセットを使う学習や、長時間実行されるニューラル・ネットワークの学習処理を監視するうえで役立ちます。

機械学習のデータの可視化におけるよくある間違い

効果的なデータの可視化では、適切なチャートを選択することだけではなく、気づかないうちに誤解を招くパターンを回避することも重要です。

  • EDAでテスト・セットを可視化する:学習前にテスト・セットの分布を軽く探索するだけでも、その情報が前処理の判断に入り込み、情報漏洩につながります。EDAはデータを分割した後、学習データだけを対象に行います。
  • 単一の精度の数値を信頼する:精度だけを見て判断すると、特にクラスの比率が偏ったデータセットでは、モデルの性能を見誤りやすくなります。精度が95%でも、本当に重要なクラスをまったく検出できていない場合があります。常に、混同行列も使い、クラスごとの性能を確認しましょう。
  • データ型に合わないグラフを使用する:円グラフは、カテゴリーが多くなるとわかりにくくなります。折れ線グラフは連続性を意味するため、カテゴリー別の比較には適していません。相関ヒートマップは数値変数用に設計されており、カテゴリーの種類が非常に多いデータにそのまま適用しても、洞察を得られるよりノイズが生成されます。グラフの選択は、個人の好みではなく、データの性質に従う必要があります。
  • 相関関係を因果関係と取り違える:2つの特徴量の相関関係が高いということは、それらが連動して変化することを意味します。一方が他方を引き起こしているとは限らず、どちらかが目的変数に因果的な影響を与えているとも限りません。相関行列は、結論ではなく、調査の出発点として扱いましょう。
  • 1つのモデルの特徴量重要度に依存しすぎない:特徴量重要度スコアは、特定のアルゴリズムの中で、その特徴量がどれほど有用かを表します。ランダム・フォレストでは重要度が低い特徴量でも、ロジスティック回帰では非常に価値のあるインプットになる可能性があります。これらのプロットは、判断材料の1つとして使い、特徴量選択の最終判断をそれだけで下さないようにしましょう。
  • 回帰モデルで残差プロットを省略する:残差プロットを見ると、誤差にパターンがあるかどうかがわかります。パターンがある場合、モデルがデータの構造的な特徴を捉え切れていない可能性があります。規則的な曲線や扇状の広がりは、集約された評価メトリクスでは見えなくても、残差プロットでは明確です。
  • 大規模なデータ・セットでは可視化を諦める:オーバープロットの問題は確かにありますが、解決策は可視化をやめることではなく、手法を切り替えることです。密度プロットや適切に抽出したランダム・サンプルを使用すると、読み取りにくい散布図を避けながら、分析に必要な傾向を明確に把握できます。

まとめ

機械学習におけるデータの可視化は最終的な仕上げのステップではなく、プロジェクトのあらゆるフェーズを通じて展開されるものです。データサイエンティストは可視化を通じて、表だけでは確認できない問題を診断し、メトリクスに隠されているモデルの失敗を捕捉し、調査結果を利害関係者に伝え、ワークフローの各段階でデータ駆動型の意思決定を自信を持って行うことができます。

各段階で意図的に可視化する習慣を身につけることは、モデルの品質を高め、思考を明確にするためにできる、最もシンプルで効果の大きい方法の1つです。

執筆者

Jobit Varughese

Technical Content Writer

IBM

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

  1. watsonx.aiの詳細はこちら
  2. デモを予約