Seaborn を使用した Python でのデータ視覚化

Python、データ視覚化、Seaborn
Seaborn を使用した Python でのデータ視覚化 cover image

現在、世界で最も価値のある資源はもはや石油ではなく、データです。視覚化は、数十億行のデータを理解するためのより重要なツールになりつつあります。データを解釈しやすいグラフィック表現に変換することにより、データ視覚化は、関連する情報、パターン、外れ値を強調表示することでデータのストーリーテリングを支援します。ただし、データとグラフィックスは連携して機能する必要があります。これは、優れた分析と優れたストーリーテリングを統合する技術です。このブログ投稿では、Python で書かれた最も有名な視覚化ツールの 1 つである「Sea Born」を紹介します。

視覚化ツール

私たちは視覚化ツールを使用して、傾向、パターン、外れ値、変数間の関係を視覚化します。これは、特にデータ サイエンスのキャリアにおいて非常に需要の高いスキルです。

シーボーン

Seaborn は、matplotlib に基づく Python データ視覚化ライブラリです。魅力的で有益な統計グラフィックスを描画するための高レベルのインターフェイスを提供します。

Seaborn プロット関数:

seaborn には 3 つのカテゴリーのプロットがあります

  • カテゴリプロット。

  • 分布プロット。

  • 関係プロット。


カテゴリプロット

seaborn のカテゴリプロット関数を使用して、カテゴリ変数の傾向を視覚化するか、少なくとも 1 つのカテゴリ変数を持つ 2 つの変数間の関係を視覚化します。

カウントプロット:

  • カテゴリ変数からの各カテゴリの観測値の数を示します。変数の各カテゴリの観測値の数を単純に数えます。
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

棒グラフ:

  • カテゴリカル変数のカテゴリごとの連続変数の傾向の推定値を長方形の高さで表します。したがって、プロット関数は 2 つの変数 (連続変数とカテゴリ変数) を入力として受け取ります。変数_1 のカテゴリごとに、変数_2 の傾向を計算します。

  • 傾向は平均や分散にすることも、カスタム関数を渡すこともできます...

seaborn.catplot(kind = 'bar',**data = dataset,**
                x    = 'variable_1',**y    = 'variable_2',**
                estimator = np.mean)**

Bar Plot

ストリッププロット:

  • ストリップ プロットは、データ視覚化において最も単純かつ直接的なプロットの 1 つであり、連続変数の値を表す点を単純に描画します。変数 1 の各カテゴリに対して、変数 2 の値を描画します。

Strip Plot

seaborn.catplot(kind = 'strip',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                jitter = 0.15)

群プロット:

  • 群プロットは、まったく同じ機能を備えているため、ストリップ プロットとよく似ています。唯一の違いは、ポイントの表示方法です。ストリップ プロットでは、データ ポイントが x 軸上にランダムに配置されるため、データ ポイントが重なり合う可能性がありますが、群プロットでは、データ ポイントを互いに積み重ねることによって、データ ポイントが重ならないようにします。

  • ここでの欠点は、データ ポイントが多数ある場合、それらが重ならないようにすることは不可能であるため、アルゴリズムは重ならないようにいくつかのデータ ポイントを削除することです。

Swarm Plot

seaborn.catplot(kind = 'swarm',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

箱ひげ図:

  • 箱ひげ図は、カテゴリ変数の各カテゴリの連続変数の分布を表すために使用されます。非常にシンプルですが、多くの情報が得られます。

  • 四分位数の値:

ボックスの内側には中央値を表す水平線があります。上の水平線は上位四分位、その下の水平線は下位四分位です。

  • 外れ値:

ボックスの外側にいくつかの点があることに注意してください。これらの点は外れ値を表しています。

Box Plot

seaborn.catplot(kind = 'box',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

ヴァイオリンのプロット:

バイオリン プロットは、分布ボックスをプロットする代わりに、KDE ​​(カーネル密度推定) を使用してカテゴリ変数のカテゴリごとに連続変数の実際の分布をプロットします。

Violin Plot

seaborn.catplot(kind = 'violin',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

分布プロット:

seaborn の分布プロット関数を使用して、連続変数の分布を視覚化します。

彼のプロット:

ヒスト プロットは、ビンを使用して連続変数の分布を表します。

Hist Plot

seaborn.distplot(kind = 'hist',
                 data = dataset,
                 x    = 'variable',
                 bins = 20)

KDE プロット:

Kde プロットは、カーネル密度推定を使用して、データの実際の分布を表します。

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable')

2 つの連続変数の二変量分布を表すために使用することもできます。

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable_1',
                 y    = 'variable_2')

ECDF プロット:

ECDF プロットは、連続変数の経験的累積分布を表します。

ECDF Plot

seaborn.distplot(kind = 'ecdf',
                 data = dataset,
                 x    = 'variable')

関係プロット:

seaborn の関係プロット関数を使用して、連続変数間の関係を視覚化します。

散布図:

  • すべてのデータ点を単純にプロットすることで、2 つの連続変数間の関係を示します。

Scatter Plot

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

折れ線グラフ:

  • 変数間の関係を連続関数として表します。

Line Plot

seaborn.relplot(kind = 'line',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

その他の機能:

すべてのプロット関数で、プロットごとに最大 2 つの変数を使用していることに気づいたかもしれませんが、視覚化にさらに多くの変数を導入したい場合はどうすればよいでしょうか?幸いなことに、Seaborn がそれを処理してくれました。

色相:

  • 色相を使用すると、カラー エンコーディングを使用して視覚化にカテゴリカルな 3 番目の変数を導入できます。これは、この 3 番目の変数の同じカテゴリに属する​​データ ポイントが同じ色を持つことを意味します。

Hue

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3')

サイズ:

  • サイズは色相と似ていますが、カラー エンコーディングではなくサイズ エンコーディングを使用します。これは、3 番目の変数の同じカテゴリに属する​​データ ポイントが同じ一意のサイズを持つことを意味します。サイズが異なるとカテゴリも異なります。

Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                size = 'variable_3',
                sizes = [50, 100])

スタイル:

  • 色相とサイズとほぼ同じです。これは、3 番目の変数の同じカテゴリに属する​​データ ポイントが同じ固有のスタイルを持つことを意味します。ポイント スタイルには、ドット、星、十字、三角形などがあり、これらをマーカーと呼びます。

Style

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                style = 'variable_3',
                markers = ['X', '*'])

複数のプロットを使用して新しいカテゴリ変数を導入することもできます。各プロットは、カテゴリ変数のカテゴリに属します。

コル:

3 番目の変数のカテゴリに対して横方向に多数の図を作成します。

Col

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                col  = 'variable_3')

行:

3 番目の変数のカテゴリに関して縦に多くの図を作成します。

Row

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                row  = 'variable_3')

同じプロット内で色相とサイズを使用して 4 つの変数を表すこともできます。また、同じプロット内で色相、スタイル、および列を使用して 5 つの変数を使用することもできます。同じプロット内で最大 7 つの変数 (変数 1、変数 2、色相、サイズ、スタイル、列、行) を使用できますが、非常に複雑で解釈が非常に困難な、非常に複雑なプロットが生成されます。まったく有益です。

Hue & Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3',
                size = 'variable_4')

結論:

この投稿では、seaborn とその 3 つのカテゴリのプロット関数 (カテゴリ プロット、分布プロット、関係プロット) について学び、各カテゴリの各プロット関数を Python コードとともに説明しました。

このトピックの詳細については、データ サイエンス ブートキャンプ をご覧ください。


Career Services background pattern

キャリアサービス

Contact Section background image

連絡を取り合いましょう

Code Labs Academy © 2024 無断転載を禁じます.