Seaborn-distribution-of-observations
Seaborn-観測値の分布
前の章で扱ったカテゴリ散布図では、アプローチは各カテゴリ内の値の分布について提供できる情報が制限されます。 さて、さらに進んで、カテゴリ内との比較を実行する際に何が促進されるかを見てみましょう。
箱ひげ図
*Boxplot* は、四分位数によるデータの分布を視覚化する便利な方法です。
ボックスプロットには、通常、ウィスカーと呼ばれるボックスから伸びる垂直線があります。 これらのひげは、上四分位と下四分位以外の変動を示しているため、箱ひげ図は「箱ひげ図」および「箱ひげ図」とも呼ばれます。 データ内の外れ値は、個々のポイントとしてプロットされます。
例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()
出力
プロット上の点は外れ値を示します。
バイオリンのプロット
バイオリンプロットは、ボックスプロットとカーネル密度の推定値の組み合わせです。 そのため、これらのプロットは、データの分布を分析および理解するのが簡単です。
バイオリンプロットの詳細を学ぶために呼び出されるヒントデータセットを使用してみましょう。 このデータセットには、レストランの顧客から提供されたヒントに関連する情報が含まれています。
例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()
出力
箱ひげ図の四分位数とひげの値は、バイオリンの内側に表示されます。 バイオリンプロットはKDEを使用しているため、バイオリンの広い部分は密度が高く、狭い領域は比較的低い密度であることを示しています。 ボックスプロットの四分位範囲とkdeの高密度部分は、バイオリンプロットの各カテゴリの同じ領域に分類されます。
上記のプロットは、週4日のtotal_billの分布を示しています。 しかし、それに加えて、性別に関して分布がどのように動作するかを確認したい場合は、以下の例で調べてみましょう。
例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()
出力
これで、男性と女性の間の支出行動を明確に見ることができます。 プロットを見ると、男性は女性よりも請求額が多いと簡単に言うことができます。
また、色相変数のクラスが2つしかない場合、特定の日に各バイオリンを2つのバイオリンではなく2つに分割することで、プロットを美しくすることができます。 バイオリンのどちらの部分も、hue変数の各クラスを参照します。
例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()