ここ最近、Python のデータ サイエンス エコシステムのメジャー アップデートがありました。このアップデートではデータ ビジュアライゼーション ツールキットである新しい Seaborn オブジェクト システムが利用できるようになりました。まだ新しいツールではあるものの、最もユーザー フレンドリーな Python 向けデータ ビジュアライゼーション ツールキットであると言えます。このチュートリアルでは Seaborn オブジェクトのインターフェイスの概要を簡単に説明します。そしてそれは何なのか、なぜそれが素晴らしいツールなのか、どのように機能するのか、例とともにご紹介します。
繰り返しとなりますが、Seaborn オブジェクト システムはとても新しいツールのため、このチュートリアルを最後まで読むことをお勧めします。
Seaborn オブジェクト システムとは?
すでにご存じかもしれませんが、Seaborn はデータ ビジュアライゼーション ツールキットとして、ここ数年すでに利用されているものでした。オリジナルの Seaborn は散布図や折れ線グラフ、棒グラフのような標準的なデータ ビジュアライゼーションを作成するための多様な機能を備えていました。
2022年 9月、Seaborn チームは、Seaborn データ ビジュアライゼーション パッケージの新しいバージョンをリリースしました。さらに、この新しいパッケージ バージョンに加え、Python でデータ ビジュアライゼーションを行うための新しいシステムも発表しました。この新しいシステムは Seaborn オブジェクト システムと呼ばれ、Tableau や R の ggplot 2 のような Grammar Of Graphics を元に開発され、Python でデータ ビジュアライゼーションを構築する、強力で、柔軟性があり、簡単に使える新しい方法となります。
これは、Python のデータ サイエンス エコシステムにとって重要な発展であることが言えます。
Seaborn オブジェクトは旧 Seaborn システムとどのように違うのか
この新しいシステムの詳細に入る前に、旧 Seaborn ツールキットとの違いについて簡単に説明します。
おそらくこの新しいシステムの最大の特長はモジュール化されていることでしょう。Seabornや他の多くのビジュアライゼーション システムでデータ ビジュアライゼーションを構築する従来の方法は、プロットの種類ごとに 1 つの関数を使うものでした。(散布図を作成する関数 (sns.scatter)、棒グラフを作成する関数 (sns.barplot)、折れ線グラフを作成する関数 (sns.lineplot) が用意されています。また、散布図の上に直線を引く必要がある場合は、別の専用関数 (sns.regplot) を使用する必要があります。
これはごくありふれた散布図や棒グラフ、またはシンプルなビジュアライゼーションを作成するのであれば、特に問題はありません。しかし、複数のレイヤーやマーク タイプを含むさらに複雑なプロットの場合、作成するのが難しくなるかもしれません。
そのため、従来の Seaborn はシンプルですが、柔軟性に欠ける部分があります。
データ ビジュアライゼーションのためのモジュール システム 「Seaborn オブジェクト」
その一方、新しい Seaborn オブジェクト システムはビジュアライゼーションを構築するためのモジュール システムです。異なるタイプのプロットを作成するための複数の異なる関数を備えるのではなく、1 つの汎用的なプロット関数があり、すべてのビジュアライゼーションに対してプロットを初期化するようになっています。
さらに特定のマーク タイプを追加できる、異なる関数も備えています。もし散布図を作成したいのであれば、点を追加するだけです、同様に、折れ線グラフを作成したいのであれば、線を追加するだけです。
もし回帰プロット (散布図にトレンドラインをかけたもの) を作成したいのであれば、に点と線を加えればいいのです。完全にモジュール化されているので、非常にシンプルなシンタックスで複雑なマルチ レイヤーのプロットを作成することができます。
プロットを変更するためのシンプルなシンタックス
さらに、この新しい Seaborn システムはプロットを変更する直感的に操作ができるシステムを提供します。また、軸やスケールを変更するための簡単な構文があります (Matplotlibよりもずっと直感的です)。
そして、複数のパネル プロットを作成するシンプルなシンタックスも備えています。Matplotlib と Seaborn は小さな倍数を作るのにいつもうまくいかないこともありました。
しかし、新しい Seaborn オブジェクト システムはそれを修正しました。小さな倍数やペアプロットの作成は追加メソッドを呼び出すだけで簡単にできます。非常にシンプルであるからこそ、強力なのです。
Seaborn は Anaconda を利用してインストールが可能です。
参照: An Introduction to the Seaborn Objects System