Python でヒートマップを作成する

公開: 2023-01-02

ヒート マップは、プロットされる個々の値に対して 1 つの色の異なる色合いを示す値で構成されます。 一般に、チャートの暗い色合いは、明るい色合いよりも高い値を表します。 明らかに異なる値の場合、まったく異なる色を使用することもできます。 データ値は、グラフの色を使用して表示されます。 ヒートマップの主な目的は、与えられた情報の色付きの視覚的なリストを提供することです。 ヒート マップ (またはヒートマップ) は、現象の大きさを 2 次元の色で表示するデータ視覚化手法です。 正確には、ヒートマップは、他の 2 つの変数の値に基づいて対象の値がどのように変化するかを示すために色を使用するデータ視覚化の手法です。 要約すると、さまざまな色を使用してデータを表すと、数値データの一般的なビューが得られます。 これに加えて、Python ヒートマップには、クラスター分析の実行、行列の正則化、特定のカラー パレットの選択、行と列を交換して類似した値を近くに配置することが含まれます。

たとえば、ヒートマップを使用して、一連の町や都市の時間帯に応じて大気汚染がどのように変化するかを正確に把握できます。

Web サイトのヒートマップは 2 つの方法で理解できます。ビジュアライゼーションを見ることと、生データ ポイントを修正することです。 ヒートマップは色分けされているため、クリックの傾向と問題が一目でわかります (赤はインタラクションが最も多く、青は最も少ないことを示します)。

2-D ヒートマップは、現象の大きさを色で表現できるデータ視覚化ツールです。 Python では、Matplotlib パッケージを使用して 2-D ヒートマップをプロットできます。 2-D ヒートマップのプロットに使用できる方法がいくつかあります。 それらのいくつかを以下で説明します。

データ サイエンス コースをチェックして、スキルアップしましょう。

目次

方法 1: matplotlib.pyplot.imshow() 関数を使用する

構文: matplotlib.pyplot.imshow(X, cmap=なし、ノルム=なし、アスペクト=なし、補間=なし、アルファ=なし、vmin=なし、

vmax=None、origin=None、extent=None、shape=<非推奨パラメータ>、filternorm=1、filterrad=4.0、

imlim=<廃止されたパラメータ>, resample=なし, url=なし, \, data=なし, \\*kwargs)

方法 2: Seaborn ライブラリを使用する

これには seaborn.heatmap() 関数を使用します

構文: seaborn.heatmap(data, *, vmin=None, vmax=None, cmap=None, center=None,robust=False,annot=None,

fmt='.2g'、annot_kws=なし、線幅=0、線色='白'、cbar=True、cbar_kws=なし、cbar_ax=なし、

square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)

人気のデータ サイエンス コースを探す

IIITBのデータサイエンスのエグゼクティブポスト大学院プログラム ビジネス上の意思決定のためのデータ サイエンスのプロフェッショナル認定プログラム アリゾナ大学でデータ サイエンスの理学修士号を取得
IIITB のデータ サイエンスの高度な証明書プログラム メリーランド大学のデータ サイエンスとビジネス分析のプロフェッショナル認定プログラム データサイエンスコース

方法 3: matplotlib.pyplot.pcolormesh() 関数を使用する

構文: matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None,

shading='flat', antialiased=False, data=None, **kwargs)

Seaborn は、heatmap() 関数の助けを借りて、より優れたチャートを簡単に作成できるようにする Python ライブラリです。 このセクションは、あらゆる種類のデータ入力に基づく関数の基本的な使用法を説明する投稿から始まります。 次に、色やデータの正規化の制御など、グラフをカスタマイズするためのさまざまな方法について説明します。

通常、ヒートマップでいくつかのクラスタリング手法を使用します。 これは、数値変数のパターンが似ているアイテムをグループ化するために行われます。

一般的には、デンドログラムを表示することをお勧めします (デンドログラムは、オブジェクト間の階層関係を示す図です。通常、階層的クラスタリングからの出力の形で作成されます。デンドログラムの主な機能は、最適な方法を見つけることです。オブジェクトをクラスタに割り当てます。) on

クラスタ化がどのように実行されたかを説明するヒートマップの上部。 最後になりましたが、得られたグループ化を追加の色として表示される予想される構造と比較することが役立つ場合があります。

Python でヒートマップを解釈する方法:

2022 年に学ぶべきトップ データ サイエンス スキル

SL。 いいえ 2022 年に学ぶべきトップ データ サイエンス スキル
1 データ分析コース 推論統計コース
2 仮説検定プログラム ロジスティック回帰コース
3 線形回帰コース 解析のための線形代数

Python データの視覚化 — ヒートマップ

  1. パンダを pd としてインポートします。 numpy を np としてインポートします。 matplotlib .pyplot を plt としてインポートします。
  2. fig, ax = plt.subplots(figsize=(10,6)) sns. heatmap (data.corr(), center=0, cmap='Blues') ax.set_title('車属性の多重共線性') 3. fig, ax = plt.subplots(figsize=(10,6)) sns . ヒートマップ ( data.corr (), center=0, cmap='BrBG', annot=True)

ヒートマップの作成方法:

  1. データセットを読み込みます。
  2. Python Numpy 配列を作成します。
  3. Python でピボットを生成します。
  4. 配列を作成して、ヒートマップに注釈を付けます。
  5. Matplotlib の図を作成し、プロットを定義します
  6. ヒートマップを構築します。

さて、問題は、 Python で海上ヒートマップ注釈のサイズをどのように大きくできるかということです。 簡単です。シーボーンは、matplotlib に基づいており、実際にデータの視覚化に使用される Python ライブラリの観点から説明できます。

人気のデータ サイエンス記事を読む

データ サイエンスのキャリア パス: 包括的なキャリア ガイド データ サイエンスのキャリア成長: 仕事の未来はここにあります データ サイエンスが重要な理由データ サイエンスがビジネスに価値をもたらす 8 つの方法
マネージャーにとってのデータサイエンスの関連性 すべてのデータ サイエンティストが持つべき究極のデータ サイエンス チート シート データ サイエンティストになるべき 6 つの理由
データ サイエンティストの 1 日: 彼らは何をしているのか? 神話の崩壊: データ サイエンスにコーディングは必要ない ビジネス インテリジェンスとデータ サイエンスの違い: 違いは何ですか?

アプローチ

  • インポートするモジュール
  • データのロードまたは生成
  • annot を True に設定して heatmap () 関数を呼び出します。
  • サイズは annot_kws パラメータに合わせてカスタマイズする必要があります
  • 出展予定プロット

ヒートマップの色の変更:

seaborn ヒートマップの色は、ヒートマップのカラー マップの cmap属性を使用して変更できます。

ヒートマップの種類:

通常、ヒートマップには次の 2 種類があります。

  1. グリッド ヒートマップ:最も一般的には密度ベースの関数によって、行と列のマトリックスに配置された色で示される値の大きさがあります。 以下に、いくつかのグリッド ヒートマップを示します。
  • クラスター化されたヒートマップ – クラスター化されたヒートマップの純粋な目標は、機能とデータポイントの両方の間の関連付けを単純に構築することです。 これは、性質が似ている機能をグループ化するプロセスの一部としてクラスタリングを実装する一種のヒートマップです

クラスタ化されたヒート マップは、生物科学でも広く使用されており、さまざまな個人の遺伝子の類似性を研究しています。

  • 空間ヒートマップ – ヒートマップにはいくつかの正方形があり、ヒートマップ内の各正方形に、近くのセルの値に基づいて色表現が実際に割り当てられます。 色の位置は、特定の空間における値の大きさに基づいています。 これらのヒートマップは、実際にはデータ駆動型のペイント バイ ナンバーキャンバスであり、画像の上に表示されます。 他のセルよりも高い値を持つセルにはホット カラーが割り当てられ、低い値を持つセルにはコールド カラーが割り当てられます。

ヒートマップの用途:

  • ビジネス分析:ヒートマップは、視覚的なビジネス分析ツールとして使用され、現在のパフォーマンス、結果、および改善の余地に関する非常に迅速な視覚的な手がかりを提供します。 ヒートマップは、既存のデータを分析するだけでなく、ほとんどの顧客が住んでいる場所を反映している可能性のある強度の領域を見つけることもできます. 成長と努力を反映するために、ヒートマップを継続的に更新することもできます。 これらのマップは、ビジネスのワークフローに統合することもできるため、進行中の分析の一部になります。 これらは

視覚的に心地よい方法でデータを提示し、チームメンバーやクライアントとの理解とコミュニケーションを容易にします。

  • ウェブサイト:ヒートマップは、訪問者のデータを視覚化するためにウェブサイトで実際に使用されます。 この種の視覚化は、ビジネス オーナーやマーケティング担当者が、特定の Web ページのパフォーマンスが最も優れているセクションと最もパフォーマンスが悪いセクションを特定するのに役立ちます。 これらのビジョンは、Web サイトの最適化にも役立ちます。
  • 探索的データ分析:これは EDA とも呼ばれ、すべてのデータに精通するためにデータ サイエンティストが実行するタスクです。 実際、すべての初期調査は、 EDAとして知られるデータを理解するために行われます。 これは、モデリング タスクが開始される前にデータセットを分析するプロセスとして説明することもできます。 実際のところ、データセット内の重要な特性を判断するために数値で埋められたスプレッドシートを見るのは、非常に退屈な作業です。 したがって、EDA は主な機能と仕様を要約するために行われ、多くの場合、ヒートマップも含む視覚的な方法が使用されます。 これらは、高次元空間で変数間の関係を視覚化する魅力的な方法です。 これは、機能変数を行ヘッダーおよび列ヘッダーとして使用することで簡単に実行できます。
  • 分子生物学: ヒートマップは、RNA や DNA などの類似パターンと同様に不一致を研究するために使用されます。
  • 地理的視覚化: 地理空間ヒート マップ チャートは、特定の基準に基づいてマップの地理的エリアを相互に比較する方法を表示する場合に非常に役立ちます。 ヒートマップは、高濃度の活動のクラスターを検出するために、クラスター分析またはホットスポット分析にも役立ちます。 たとえば、Airbnb のレンタル価格分析を見てみましょう。
  • マーケティングと販売:コールド スポットとウォーム スポットを検出するヒートマップの機能は、ターゲットを絞ったマーケティングによってマーケティングの反応率を向上させるために使用されます。 ヒートマップはまた、キャンペーン、十分なサービスを受けていない市場、顧客の住居、および高い販売傾向に対応するエリアの検出を容易にします。これらは、地域の人口統計を分析しながら、製品ラインナップを強化し、販売を活用し、ターゲットを絞った顧客セグメントを構築するのに役立ちます。

結論

ヒートマップを説明できるさまざまな配色がありますが、それぞれに一連の知覚的な利点と欠点があります。 特にヒートマップの色がデータのパターンを明らかにするため、カラー パレットの選択は実際には美学だけではありません。 実際、優れた配色はパターンの発見を促進します。 ただし、選択を誤ると、実際にはそれを隠すことができます。 これに加えて、シーボーン ヒートマップは、ヒートマップを生成するために実際にさまざまな種類のデータを取得できるグリッド ヒート マップです。 したがって、シーボーン ヒートマップの主な目的は、データの視覚化によって相関行列を単純に示すことです。 また、複数の機能間の関係や、機械学習モデルの構築に最適な機能を見つけるのにも役立ちます。

Python の使用、特にデータ サイエンスについて深く掘り下げたい場合は、upGrad がデータ サイエンスのエグゼクティブ PGP を提供します。 このプログラムは、中級レベルの IT 専門家、データ サイエンスを探求しようとしているソフトウェア エンジニア、非技術アナリスト、初期のキャリア専門家などを対象としています。構造化されたカリキュラムと広範なサポートにより、学生は問題なく潜在能力を最大限に発揮できます。

この記事を共有したいですか?

将来のキャリアに備える

データ サイエンスの理学修士号を申請する - LJMU & IIT バンガロール