<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pairplot | DL FreeTime</title>
	<atom:link href="https://www.ct-innovation.blog/dl-freetime/tag/pairplot/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ct-innovation.blog/dl-freetime</link>
	<description>Start studying deep learning in my Free time</description>
	<lastBuildDate>Mon, 18 Mar 2024 13:15:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-cooltext289278806579247-32x32.png</url>
	<title>pairplot | DL FreeTime</title>
	<link>https://www.ct-innovation.blog/dl-freetime</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>Seabornの応用：catplotを使いこなす &#8211; 見やすく効果的なカテゴリデータの可視化</title>
		<link>https://www.ct-innovation.blog/dl-freetime/programming/python/2387/</link>
					<comments>https://www.ct-innovation.blog/dl-freetime/programming/python/2387/#respond</comments>
		
		<dc:creator><![CDATA[Yuki]]></dc:creator>
		<pubDate>Thu, 04 Apr 2024 08:36:06 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[seaborn]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[pairplot]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[データ解析]]></category>
		<category><![CDATA[可視化]]></category>
		<guid isPermaLink="false">https://www.ct-innovation.blog/dl-freetime/?p=2387</guid>

					<description><![CDATA[Pythonのデータ可視化ライブラリSeabornは、データ分析の効率とわかりやすさを格段に高めてくれます。その中でもcatplotは、カテゴリデータの視覚化に特化した非常に便利な機能です。本記事では、catplotの基 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Pythonのデータ可視化ライブラリSeabornは、データ分析の効率とわかりやすさを格段に高めてくれます。その中でもcatplotは、カテゴリデータの視覚化に特化した非常に便利な機能です。本記事では、catplotの基本的な使い方から応用まで、実例を交えながら解説していきます。</p>



<span id="more-2387"></span>



<h2 class="wp-block-heading">Catplotとは？</h2>



<p>Catplotは、カテゴリ型の変数を含むデータセットの関係を可視化するためのSeabornの機能です。カテゴリ型の変数とは、離散的な値を持つ変数のことであり、性別や地域などが代表的な例です。Catplotは、カテゴリごとにデータを分析し、パターンや相関関係を可視化するのに役立ちます。</p>



<h2 class="wp-block-heading">Catplotの種類</h2>



<p>カテゴリプロットでは、主に3つの種類があります。そこから表現方法の違いで細分化すると8種類となります。</p>



<ol class="wp-block-list">
<li>Categorical scatterplots：<span class="marker-under">散布図</span>
<ul class="wp-block-list">
<li>stripplot() (with kind=&#8221;strip&#8221;; the default)</li>



<li>swarmplot() (with kind=&#8221;swarm&#8221;)</li>
</ul>
</li>



<li>Categorical distribution plots：<span class="marker-under">分布図</span>
<ul class="wp-block-list">
<li>boxplot() (with kind=&#8221;box&#8221;)</li>



<li>boxenplot() (with kind=&#8221;boxen&#8221;)</li>



<li>violinplot() (with kind=&#8221;violin&#8221;)</li>
</ul>
</li>



<li>Categorical estimate plots：<span class="marker-under">推定プロット</span>
<ul class="wp-block-list">
<li>barplot() (with kind=&#8221;bar&#8221;)</li>



<li>countplot() (with kind=&#8221;count&#8221;)</li>



<li>pointplot() (with kind=&#8221;point&#8221;)</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">データの準備</h2>



<p>今回は、seabornでサンプルとして準備されているデータを呼び出して使用します。</p>



<pre class="wp-block-code python"><code>import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")</code></pre>



<h3 class="wp-block-heading">すべてに共通の引数</h3>



<ul class="wp-block-list">
<li>data: プロットするデータのデータフレーム</li>



<li>x: x軸のカテゴリデータの列名</li>



<li>y: y軸のデータの列名</li>



<li>row/col: 行列方向にプロットを小分けする変数の列名</li>
</ul>



<h2 class="wp-block-heading">Categorical scatterplots：<span class="marker-under">散布図</span></h2>



<h3 class="wp-block-heading">stripplot()の実装</h3>



<p>Strip Plotは、カテゴリごとのデータの分布や個々のデータ点を視覚的に表現するのに役立ちます。</p>



<ol class="wp-block-list">
<li><strong>個々のデータ点の表示</strong>: 各データポイントがそのままプロットされ、その分布が視覚的にわかりやすくなります。これにより、データの分散や外れ値などを素早く把握することができます。</li>



<li><strong>カテゴリごとの比較</strong>: 異なるカテゴリに属するデータの分布を比較するのに適しています。カテゴリごとにデータポイントの密度や分布を比較することができます。</li>



<li><strong>Jittering（ジッタリング）</strong>: データポイントが重なる場合、ランダムなノイズを追加して、データの重なりを解消することができます。これにより、データの分布がより明確に表示されます。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code"><code>sns.catplot(x="day", y="total_bill", data=tips);</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="505" height="489" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-144148.png" alt="" class="wp-image-2388" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-144148.png 505w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-144148-300x290.png 300w" sizes="(max-width: 505px) 100vw, 505px" /></figure>



<h4 class="wp-block-heading">様々なオプション</h4>



<h5 class="wp-block-heading">jitter</h5>



<p>一つの軸に対してプロットする際の横（縦）方向のずれの値を設定できる箇所だが、Falseを置くことでずれをなくすことも可能</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", <strong><em>jitter=False</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="501" height="485" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-145805.png" alt="" class="wp-image-2390" style="width:499px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-145805.png 501w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-145805-300x290.png 300w" sizes="(max-width: 501px) 100vw, 501px" /></figure>



<h5 class="wp-block-heading">hue</h5>



<p>ここに設定した列名のカテゴリに応じて色分けを行うことができる。</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", <strong><em>hue="sex"</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="583" height="490" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-150114.png" alt="" class="wp-image-2391" style="width:580px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-150114.png 583w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-150114-300x252.png 300w" sizes="(max-width: 583px) 100vw, 583px" /></figure>



<h5 class="wp-block-heading">dodge</h5>



<p>上記のhueで色分けを行った場合に、そのカテゴリごとに軸を避けて描画できます。</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", hue='sex', <strong><em>dodge=True</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="579" height="483" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-150458.png" alt="" class="wp-image-2392" style="width:580px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-150458.png 579w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-150458-300x250.png 300w" sizes="(max-width: 579px) 100vw, 579px" /></figure>



<p>これ以外にも今縦に積み上げているものをそのまま90度倒して横方向にするオプションに加え、プロットの色を指定したりサイズを指定することが可能です。</p>



<h3 class="wp-block-heading">swarmplot()の実装</h3>



<p>Strip Plotと同様に、個々のデータポイントをプロットしますが、Swarm Plotではデータポイント同士が重ならないように配置されます。しばしば「ミツバチの群れ」と称されるような見た目にかわります。</p>



<ol class="wp-block-list">
<li><strong>個々のデータ点の表示</strong>: 各データポイントがそのままプロットされ、その分布が視覚的にわかりやすくなります。これにより、データの分散や外れ値などを素早く把握することができます。</li>



<li><strong>データポイントの重なり防止</strong>: データポイント同士が重ならないように配置されます。これにより、データポイントの密度や分布をより正確に理解することができます。</li>



<li><strong>カテゴリごとの比較</strong>: 異なるカテゴリに属するデータの分布を比較するのに適しています。カテゴリごとにデータポイントの密度や分布を比較することができます。</li>
</ol>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1-e1709253991344.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>あまりに多いデータセットには向いていないようです。公式がアナウンスしています。</p>
</div></div>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", hue="sex", <strong><em>kind="swarm"</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="582" height="486" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-151310.png" alt="" class="wp-image-2393" style="width:580px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-151310.png 582w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-151310-300x251.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>



<p>様々なオプションについては、stripplotと同じのものが非常に多いので割愛します。</p>



<h2 class="wp-block-heading">Categorical distribution plots：<span class="marker-under">分布図</span></h2>



<h3 class="wp-block-heading">boxplot()の実装</h3>



<p>データセットの中央値、四分位数、外れ値などの統計的特性を可視化するのに役立ちます。以下に、Box Plotの主な特徴と使用方法を説明します。</p>



<ol class="wp-block-list">
<li><strong>中央値と四分位範囲の表示</strong>: 箱の中央にはデータの中央値が表示され、箱の上下の端には第1四分位数（25パーセンタイル）と第3四分位数（75パーセンタイル）が表示されます。</li>



<li><strong>箱の高さ</strong>: 箱の高さは、データの第1四分位数から第3四分位数までの範囲であり、データの中央50%を表します。箱の高さが短いほどデータのばらつきが小さいことを意味します。</li>



<li><strong>ひげの表示</strong>: 箱の上下に延びる線（ひげ）は、データの範囲を表します。通常、ひげの長さは第1四分位数から1.5倍の四分位範囲と第3四分位数から1.5倍の四分位範囲の外にあるデータポイントまで伸びます。外れ値はひげの外側に単独で表示されます。</li>



<li><strong>外れ値の表示</strong>: 箱ひげ図は、データの中にある外れ値を視覚的に特定するのに役立ちます。外れ値は通常、ひげの外側に単独でプロットされます。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code"><code>sns.catplot(x="day", y="total_bill",<strong><em> kind="box"</em></strong>, data=tips)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="506" height="488" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-160147.png" alt="" class="wp-image-2395" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-160147.png 506w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-160147-300x289.png 300w" sizes="(max-width: 506px) 100vw, 506px" /></figure>



<h4 class="wp-block-heading">様々なオプション</h4>



<p>様々なオプションについては、stripplotと同じのものが非常に多いので特に挙動が変わるもの独自のものにのみフォーカスすることにします。</p>



<h5 class="wp-block-heading">hue</h5>



<p>ここに設定した列名のカテゴリに応じてそれぞれを箱ひげ図にして色分け描画できる。</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", <strong><em>hue="smoker"</em></strong>, kind="box")</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="555" height="484" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-160200.png" alt="" class="wp-image-2394" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-160200.png 555w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-160200-300x262.png 300w" sizes="(max-width: 555px) 100vw, 555px" /></figure>



<h5 class="wp-block-heading">fill</h5>



<p>塗りつぶしを行うかどうかを設定できます。</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", hue="smoker", kind="box", <strong><em>fill=False</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="557" height="487" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-163315.png" alt="" class="wp-image-2397" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-163315.png 557w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-163315-300x262.png 300w" sizes="(max-width: 557px) 100vw, 557px" /></figure>



<h3 class="wp-block-heading">boxenplot()の実装</h3>



<p>Boxen Plotは、データの分布や中央値、四分位数などの統計的特性を視覚的に表現するのに役立ちます。以下のような特徴があります。</p>



<ol class="wp-block-list">
<li><strong>拡張された箱ひげ図</strong>: 通常の箱ひげ図よりも多くの情報を提供します。特に、中央値や四分位数だけでなく、さらに深い統計情報を表示します。</li>



<li><strong>サブグループの可視化</strong>: データをサブグループに分割して比較する場合に便利です。これにより、異なるカテゴリや条件におけるデータの分布を比較することができます。</li>



<li><strong>データの密度の表示</strong>: データの分布に関する情報をより詳細に知ることができます。特に、データの密度が高い領域や外れ値が存在する領域を明確に表示します。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code"><code>sns.catplot(x="day", y="total_bill",<strong><em> kind="boxen"</em></strong>, data=tips)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="507" height="488" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-164337.png" alt="" class="wp-image-2398" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-164337.png 507w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-164337-300x289.png 300w" sizes="(max-width: 507px) 100vw, 507px" /></figure>



<h4 class="wp-block-heading">様々なオプション</h4>



<p>様々なオプションについては、stripplotと同じのものが非常に多いので特に挙動が変わるもの独自のものにのみフォーカスすることにします。</p>



<h5 class="wp-block-heading">saturation</h5>



<p>グラフを描画する際に彩度を下げた方が見栄えがよくなることがよくあります、そういったとき、塗りつぶしの色を描画する元の彩度の比率で指定することができます。</p>



<pre class="wp-block-code python"><code>sns.catplot(x="day", y="total_bill", kind="boxen", data=tips, <strong><em>saturation=.2</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="503" height="490" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-171731.png" alt="" class="wp-image-2399" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-171731.png 503w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-171731-300x292.png 300w" sizes="(max-width: 503px) 100vw, 503px" /></figure>



<h3 class="wp-block-heading">violinplot() の実装</h3>



<p>バイオリンプロットは、データの分布形状や中央値、四分位範囲などの統計的特性を視覚的に表現するのに役立ちます。以下に、Violin Plotの主な特徴と使用方法を説明します。</p>



<ol class="wp-block-list">
<li><strong>カーネル密度推定</strong>: バイオリンプロットは、各データセットのカーネル密度推定を行い、データの分布をなめらかな曲線で表現します。これにより、データの分布形状が視覚的に把握できます。</li>



<li><strong>中央値と四分位範囲の表示</strong>: バイオリンプロットには、中央値や四分位範囲などの要約統計量が含まれており、各データセットの中央値と四分位範囲を示します。</li>



<li><strong>データの密度</strong>: バイオリンプロットの幅は、各データセットの密度を表します。幅が広いほどデータが集中していることを示し、幅が狭いほどデータが分散していることを示します。</li>



<li><strong>分布の比較</strong>: 複数のデータセットを同時にプロットすることで、異なるグループ間のデータ分布を比較することができます。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code"><code>sns.catplot(data=tips, x="total_bill", y="day", hue="sex", <em><strong>kind="violin"</strong></em>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="575" height="483" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-182341.png" alt="" class="wp-image-2403" style="width:570px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-182341.png 575w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-182341-300x252.png 300w" sizes="(max-width: 575px) 100vw, 575px" /></figure>



<h4 class="wp-block-heading">様々なオプション</h4>



<p>様々なオプションについては、stripplotと同じのものが非常に多いので特に挙動が変わるもの独自のものにのみフォーカスすることにします。</p>



<h5 class="wp-block-heading">split</h5>



<p>バイオリンを上下に「分割」することも可能で、先ほどの二つのバイオリンプロットの上側を男性、下側を女性にすることでスペースをより効率的に使用できます。</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="total_bill", y="day", hue="sex", kind="violin", split=True)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="579" height="485" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-221843-e1709818254956.png" alt="" class="wp-image-2404" style="width:570px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-221843-e1709818254956.png 579w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-221843-e1709818254956-300x251.png 300w" sizes="(max-width: 579px) 100vw, 579px" /></figure>



<h5 class="wp-block-heading">inner</h5>



<p>ヴァイオリン内部のデータ表現を変更できます。デフォルトは「box」で箱ひげ図が描画される、「point」「stick」で各測定値にポイントやラインを描画が可能であり、「quart」で四分位数を表示できます。</p>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="total_bill", y="day", hue="sex", kind="violin", split=True, <strong><em>inner='stick'</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="582" height="484" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-223035.png" alt="" class="wp-image-2405" style="width:570px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-223035.png 582w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-223035-300x249.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure>



<h2 class="wp-block-heading">Categorical estimate plots：<span class="marker-under">推定プロット</span></h2>



<h3 class="wp-block-heading">barplot() の実装</h3>



<p>Bar Plot（棒グラフ）は、カテゴリ別のデータを比較するために使用されるグラフィカルな手法です。カテゴリ別の数値データを棒状の縦棒で表現し、それらの高さを用いて相対的な値を比較します。以下に、Bar Plotの主な特徴と使用方法を説明します。</p>



<ol class="wp-block-list">
<li><strong>カテゴリ別の比較</strong>: Bar Plotは、異なるカテゴリのデータを簡単に比較できるようにします。例えば、商品カテゴリごとの売上や各月の売上など、カテゴリごとのデータを比較するのに適しています。</li>



<li><strong>相対的な大きさの視覚化</strong>: 棒の高さは、対応するカテゴリのデータの値を表します。高さが高いほど、そのカテゴリの値が大きいことを示します。</li>



<li><strong>複数の変数の比較</strong>: 複数のカテゴリや条件を含むデータセットの場合、複数の棒グラフを並べて表示することで、異なる条件やカテゴリ間の比較が容易になります。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill",<strong><em> kind="bar"</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="498" height="484" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-225359.png" alt="" class="wp-image-2406" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-225359.png 498w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-225359-300x292.png 300w" sizes="(max-width: 498px) 100vw, 498px" /></figure>



<h3 class="wp-block-heading">countplot() の実装</h3>



<p>Count Plotは、カテゴリごとのデータの出現回数を可視化するためのグラフです。各カテゴリに属するデータ点の数を棒グラフやヒストグラムの形式で表示し、カテゴリごとの頻度を比較します。主にカテゴリ型の変数の分布を理解するために使用されます。</p>



<ol class="wp-block-list">
<li><strong>カテゴリの頻度の比較</strong>: Count Plotは、異なるカテゴリのデータの出現回数を直感的に比較できるようにします。カテゴリごとの頻度の違いを視覚的に把握できます。</li>



<li><strong>データの集計と可視化</strong>: データセット内のカテゴリデータの出現回数を集計し、それを棒グラフやヒストグラムの形式で視覚化します。</li>



<li><strong>カテゴリ型変数の分析</strong>: 主にカテゴリ型の変数（例：性別、地域、カテゴリなど）の分布を分析するのに適しています。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", <strong><em>kind="count"</em></strong>)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="501" height="484" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-231023.png" alt="" class="wp-image-2407" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-231023.png 501w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-231023-300x290.png 300w" sizes="(max-width: 501px) 100vw, 501px" /></figure>



<h3 class="wp-block-heading">pointplot() の実装</h3>



<p>Point Plotは、カテゴリ変数と数値変数の関係を可視化するためのグラフです。各カテゴリの平均値や中央値などの集計値をポイントとしてプロットし、その間の信頼区間を線で表現します。Point Plotは、異なるカテゴリ間の数値の比較や傾向の把握に役立ちます。</p>



<ol class="wp-block-list">
<li><strong>カテゴリ間の数値比較</strong>: Point Plotは、カテゴリごとの数値の平均や中央値をポイントで示すことで、異なるカテゴリ間の数値の比較を容易にします。</li>



<li><strong>信頼区間の表示</strong>: ポイントの周りに表示される線は、信頼区間を表します。これにより、集計値のばらつきや統計的な信頼性を視覚的に評価できます。</li>



<li><strong>傾向の把握</strong>: カテゴリごとのポイントと信頼区間を比較することで、異なるカテゴリ間の傾向やパターンを把握するのに役立ちます。</li>
</ol>



<h4 class="wp-block-heading">最小コード</h4>



<pre class="wp-block-code python"><code>sns.catplot(data=tips, x="day", y="total_bill", <strong><em>kind="point"</em></strong>, hue="sex")</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="583" height="483" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-231939.png" alt="" class="wp-image-2408" style="width:500px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-231939.png 583w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-231939-300x249.png 300w" sizes="(max-width: 583px) 100vw, 583px" /></figure>



<h5 class="wp-block-heading">それぞれのスタイルを個別に変更する</h5>



<ol class="wp-block-list">
<li><strong>カラーマップの指定</strong>: paletteパラメータを使用して、辞書型で異なるカテゴリに対応する色を指定することができます。これにより、デフォルトの色以外の色を使用してプロットを作成できます。</li>



<li><strong>ラインスタイルの指定</strong>: linestylesパラメータを使用して、リスト型で異なるカテゴリに対応するラインのスタイルを指定することができます。</li>



<li><strong>マーカーの指定</strong>: markersパラメータを使用して、リスト型で異なるカテゴリに対応するマーカーを指定することができます。</li>
</ol>



<pre class="wp-block-code"><code>sns.catplot(
    data=tips, x="day", y="total_bill", kind="point", hue="sex",
<strong><em>    palette={"Male": "g", "Female": "m"},
    markers=&#91;"^", "o"], linestyles=&#91;"-", "--"]</em></strong>
)</code></pre>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="581" height="480" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-232341.png" alt="" class="wp-image-2409" style="width:580px" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-232341.png 581w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/03/スクリーンショット-2024-03-07-232341-300x248.png 300w" sizes="(max-width: 581px) 100vw, 581px" /></figure>



<h2 class="wp-block-heading">まとめ</h2>



<p>Seabornのcatplotを使用することで、様々な種類のカテゴリデータを効果的に可視化することができます。散布図、分布図、推定プロットなど、さまざまな視覚化手法を使いこなし、データの特徴やパターンを理解しましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ct-innovation.blog/dl-freetime/programming/python/2387/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Seabornの基礎：データの可視化をより美しく、効果的に</title>
		<link>https://www.ct-innovation.blog/dl-freetime/kaggle/2209/</link>
					<comments>https://www.ct-innovation.blog/dl-freetime/kaggle/2209/#respond</comments>
		
		<dc:creator><![CDATA[Yuki]]></dc:creator>
		<pubDate>Fri, 16 Feb 2024 16:57:04 +0000</pubDate>
				<category><![CDATA[Kaggle]]></category>
		<category><![CDATA[matplotlib]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[seaborn]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[pairplot]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[データ解析]]></category>
		<category><![CDATA[可視化]]></category>
		<guid isPermaLink="false">https://www.ct-innovation.blog/dl-freetime/?p=2209</guid>

					<description><![CDATA[データの可視化は、データ解析の重要なステップです。PythonのSeabornライブラリは、Matplotlibに基づいており、美しいデフォルトスタイルや統計データの視覚化に特化した機能を提供しています。この記事では、S [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>データの可視化は、データ解析の重要なステップです。PythonのSeabornライブラリは、Matplotlibに基づいており、美しいデフォルトスタイルや統計データの視覚化に特化した機能を提供しています。この記事では、Seabornの基本的な使い方を解説し、KaggleのTitanicデータセットを使用して実例を示します。</p>



<h2 class="wp-block-heading">Seabornとは</h2>



<p>Seabornは、Pythonのデータ可視化ライブラリであり、Matplotlibのラッパーライブラリとして機能します。デフォルトで美しいグラフを生成し、統計的なデータを視覚化するための機能を豊富に提供しています。データセットの関係性を調査したり、異なる変数間のパターンを発見したりするのに役立ちます。</p>



<h2 class="wp-block-heading">インストール</h2>



<p>Seabornは、通常、pipコマンドを使用してインストールされます。</p>



<pre class="wp-block-code bash"><code>pip install seaborn</code></pre>



<h2 class="wp-block-heading">データの概要を確認する</h2>



<p>題材はKaggleのTitanicを使うことにします。Titanicってなに？データを読み込むまでの方法は？という方は以前の記事を見てみてください。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a target="_blank" href="https://www.ct-innovation.blog/dl-freetime/kaggle/1497/" title="Titanicをニューラルネットワークで予測する" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="320" height="180" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-320x180.png 320w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-240x135.png 240w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">Titanicをニューラルネットワークで予測する</div><div class="blogcard-snippet internal-blogcard-snippet">この記事は、KaggleのことはじめであるTitanicの生存者予測というコンペティションに焦点を当てています。Kaggleは機械学習コミュニティの中心的存在であり、データ分析のコンペティションを通じて参加者がスキルを磨く場として知られています。Kaggleでの機械学習コンペティションに参加する際の手法やプロセスを理解し、自身のスキル向上に役立てることができます。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.ct-innovation.blog/dl-freetime" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.ct-innovation.blog</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2019.03.23</div></div></div></div></a>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a target="_blank" href="https://www.ct-innovation.blog/dl-freetime/kaggle/1405/" title="【Kaggle】データの読み込み方" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="320" height="180" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-320x180.png 320w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-240x135.png 240w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2019/03/kaggle-logo-transparent-300-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Kaggle】データの読み込み方</div><div class="blogcard-snippet internal-blogcard-snippet">KaggleにおけるCompetition（コンペ）への参加方法を詳細に解説した記事です。タイタニックを題材にして、Competitionへの参加登録方法からKernelの作成、Datasetの準備までを丁寧に説明しています。Kaggle初心者にとって役立つ手順をわかりやすく示しています。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.ct-innovation.blog/dl-freetime" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.ct-innovation.blog</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2019.02.23</div></div></div></div></a>
</div>



<p>まずはじめに、KaggleのTitanicデータセットを使用して、Seabornの機能を実際のデータに適用してみましょう。以下のコードを使用して、データセットを読み込みます。</p>



<pre class="wp-block-code python"><code>import seaborn as sns
import pandas as pd

# Reading file
titanic = pd.read_csv("../input/train.csv")</code></pre>



<h3 class="wp-block-heading">データ確認</h3>



<p>まずは、どんなデータが入っているのかを確認します。</p>



<pre class="wp-block-code"><code>titanic.head()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="536" height="491" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/tit_data-1.jpg" alt="" class="wp-image-2238" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/tit_data-1.jpg 536w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/tit_data-1-300x275.jpg 300w" sizes="(max-width: 536px) 100vw, 536px" /></figure>



<h2 class="wp-block-heading">データの可視化</h2>



<h3 class="wp-block-heading">【pairplot】全組み合わせの相関グラフ</h3>



<p>データセットの各変数同士の相関分析を簡単に実施できる関数として<code>pairplot</code>があります。</p>



<pre class="wp-block-code python"><code>sns.<strong><em>pairplot</em></strong>(titanic&#91;&#91;"Survived", "Pclass", "SibSp", "Parch", "Age", "Fare"]])
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="780" height="774" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-8.jpg" alt="" class="wp-image-2236" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-8.jpg 780w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-8-300x298.jpg 300w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-8-150x150.jpg 150w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-8-768x762.jpg 768w" sizes="(max-width: 780px) 100vw, 780px" /></figure>



<p>このままだと、分析は不可能なのである項目で色分けします。hue=**というキーワード引数に色分けしたいフィールドを書くとグループごとに色分けされます。</p>



<p>Survivedで色分けしましょう。0が死亡で1が生存なので青が死亡、オレンジが生存となります。</p>



<pre class="wp-block-code python"><code>sns.pairplot(titanic&#91;&#91;"Survived", "Pclass", "SibSp", "Parch", "Age", "Fare"]], 
             <strong><em>hue="Survived"</em></strong>)
plt.show()</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://ct-innovation01.xyz/DL-Freetime/wp/wp-content/uploads/2019/03/4b65ba2c995eff70d242ad16f5177683.jpg" alt="" class="wp-image-1660"/></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>私は統計学のエキスパートではないのでこれを見てもParchのグラフを見るとParchが0の人は生存率が高そう&#8230;かな？ぐらいであとはさっぱりです。</p>
</div></div>



<p>この画像を作成するために以前紹介しているmatplotlibを使おうと思うとかなり大変です。subplotでこの数のグラフを準備してそれぞれのデータを入れてフォーマットを整える必要があります。</p>



<p>どうしてもやってみたい方は、こちらの記事を参考にやってみてください。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-reference">
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-reference">

<a target="_blank" href="https://www.ct-innovation.blog/dl-freetime/programming/python/315/" title="matplotlibの基本: 散布図の描画方法" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="320" height="180" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2018/12/Figure_1-320x180.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2018/12/Figure_1-320x180.png 320w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2018/12/Figure_1-240x135.png 240w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2018/12/Figure_1-640x360.png 640w" sizes="(max-width: 320px) 100vw, 320px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">matplotlibの基本: 散布図の描画方法</div><div class="blogcard-snippet internal-blogcard-snippet">本記事では、Pythonのデータ可視化ライブラリであるmatplotlibを使用して、散布図の描画方法に焦点を当てました。まず、基本的なプロットの手法から始め、その後、グラフの見た目をカスタマイズする方法や複数のデータセットを重ねて表示する方法について解説しました。</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.ct-innovation.blog/dl-freetime" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.ct-innovation.blog</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2018.07.09</div></div></div></div></a>
</div>



<h3 class="wp-block-heading">【catplot】カテゴリーごとの棒グラフ</h3>



<p>カテゴリー間の比較や分布を可視化するための有用な手法です。このグラフは、異なるカテゴリーに属するデータポイントの数値的な比較や分布を理解するのに役立ちます。こちらはcatplot関数で対応できます。</p>



<h4 class="wp-block-heading">1．同乗した兄弟や配偶者の数と生存率</h4>



<p>同乗した兄弟や配偶者の数のカテゴリに対して生存したかどうかの推定値（指定しなければ平均値）をプロットするようなコードとその結果です。推定値の周りの信頼区間も計算され、誤差範囲も黒いラインでプロットされます。</p>



<pre class="wp-block-code python"><code>sib_s = sns.<em><strong>catplot</strong></em>(x="SibSp",y="Survived", data=titanic, kind="bar", size = 6 )
sib_s = sib_s.set_ylabels("survival prob")
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="427" height="420" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4cb3c1f00a1f7efdcfd64fb3c9ad450e-1.jpg" alt="" class="wp-image-2243" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4cb3c1f00a1f7efdcfd64fb3c9ad450e-1.jpg 427w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4cb3c1f00a1f7efdcfd64fb3c9ad450e-1-300x295.jpg 300w" sizes="(max-width: 427px) 100vw, 427px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>あまり大家族だと生存率は高くないようです。救命ボートに全員で乗りたいが空きがなかったとかが原因なのでしょうか？ただ、<span class="marker-under">そこまで重要なファクターではなさそうです</span>。</p>
</div></div>



<h4 class="wp-block-heading">2．性別と生存率</h4>



<p>では、性別というカテゴリに対して生存したかどうかの推定値をプロットさせます。</p>



<pre class="wp-block-code python"><code>s_s = sns.catplot(<strong><em>x="Sex"</em></strong>, y="Survived", data=titanic, kind="bar", size=6)
s_s = s_s.set_ylabels("survival prob")
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="420" height="416" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-1.jpg" alt="" class="wp-image-2235" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-1.jpg 420w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-1-300x297.jpg 300w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-1-150x150.jpg 150w" sizes="(max-width: 420px) 100vw, 420px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>性別で見ると男性の生存率は結構低いことがわかります。</p>



<p>そういえば、ある映画でも描かれてましたが女性と子供を先にボートに乗せてましたね。</p>



<p>とにかく<span class="marker-under-blue">性別はそれなりに重要な特徴変数</span>になりそうです。</p>
</div></div>



<h4 class="wp-block-heading">3．チケットクラスと生存率</h4>



<p>次に、チケットクラス（新幹線でいうと1がグリーン、2が指定席、3が自由席というイメージ）と生存に相関があるかどうかも同様に見ることができます。</p>



<pre class="wp-block-code python"><code>c_s = sns.catplot(<strong><em>x="Pclass",y="Survived"</em></strong>, data=titanic, kind="bar", size=6)
c_s = c_s.set_ylabels("survival prob")
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="433" height="420" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-10.jpg" alt="" class="wp-image-2244" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-10.jpg 433w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-10-300x291.jpg 300w" sizes="(max-width: 433px) 100vw, 433px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>チケットクラスは1等から順に生存率は下がっています。</p>



<p>やはり<span class="marker-under-blue">高いチケットを買った層は優先</span>されているみたいです。</p>
</div></div>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-memo block-box">
<p>ちなみに、タイタニック号の乗船料金はいくらだったのか？<br>（※ドル円換算レートは記事作成時のレート［USD/JPY 150.64］を参考にしています。）</p>



<ul class="wp-block-list">
<li>1等スイート：￡870 / $4,350（現在の価値に換算して約750万円）</li>



<li>1等：￡30 / $150（現在の価値に換算して約26万円）</li>



<li>2等：￡12 / $60（現在の価値に換算して約10万円）</li>



<li>3等：￡3 ~ ￡8 / $15 ~ $40（現在の価値に換算して約3万円～約7万円）</li>
</ul>



<p>スイートとんでもない値段ですね。</p>
</div>



<h4 class="wp-block-heading">4．性別＋チケットクラスと生存率</h4>



<p>さらに性別とチケットクラスの組み合わせが生存に相関があるかどうかも同様に見てみましょう。</p>



<pre class="wp-block-code python"><code>c_s = sns.catplot(x="Pclass", y="Survived",<strong><em> hue="Sex",</em></strong>
                  data=titanic, kind="bar", size = 6 )
c_s = c_s.set_ylabels("survival prob")
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="500" height="425" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4cb3c1f00a1f7efdcfd64fb3c9ad450e.jpg" alt="" class="wp-image-2234" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4cb3c1f00a1f7efdcfd64fb3c9ad450e.jpg 500w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4cb3c1f00a1f7efdcfd64fb3c9ad450e-300x255.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ここで注目するところは、1等チケットを持っている男性よりも3等チケットを持った女性のほうが生存率が高いことです。</p>



<p>このことから<span class="marker-under-blue">チケットの格よりも性別のほうが重要</span>なファクターであることが汲み取れますね。</p>
</div></div>



<h3 class="wp-block-heading">【countplot】カテゴリごとのカウントグラフ</h3>



<p>今度は性別と生死で場合分けを行ってカウントしてくれるcountplotを利用してみます。</p>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-check block-box">
<p>前項で男性の生存率は低いことはわかりましたが、男性客が圧倒的に多かったから生存率が低いだけである可能性は捨てきれません。カウントをとってみることで生存数の絶対値が性別による差はなくただ単に男女同じ人数をボートに乗せた結果ではないのか。その場合性別は重要なファクターであるかどうかを再考する必要が出てくるかもしれません。</p>
</div>



<pre class="wp-block-code python"><code>count_s = sns.<strong><em>countplot</em></strong>(x="Sex", hue="Survived", data=titanic)
plt.show()</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="401" height="276" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-2.jpg" alt="" class="wp-image-2242" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-2.jpg 401w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/4b65ba2c995eff70d242ad16f5177683-2-300x206.jpg 300w" sizes="(max-width: 401px) 100vw, 401px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>男性が100名程度に対して、女性は200名超の倍以上が助かっています。</p>



<p>この結果からやはり<span class="marker-under-blue">性別は重要なファクターである</span>といえそうです。</p>
</div></div>



<h3 class="wp-block-heading">【FacetGrid】属性ごとのグラフ</h3>



<p>最後に年齢のように連続値となっているデータにおいて生存率を調べたい場合catplotではうまく可視化できません。そこでFacetGrid関数を用いることで、0-10歳までのグループ、11-20歳までのグループといった属性に分けて、その属性ごとにグラフを描画させます。</p>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-tips block-box">
<p>無理やりcatplotした結果</p>



<figure class="wp-block-image size-full"><img decoding="async" width="500" height="416" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-9.jpg" alt="" class="wp-image-2241" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-9.jpg 500w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-9-300x250.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>
</div>



<pre class="wp-block-code python"><code>Fg = sns.<strong><em>FacetGrid</em></strong>(titanic, col='Survived')
Fg = Fg.map(sns.distplot, "Age")</code></pre>



<figure class="wp-block-image size-full"><img decoding="async" width="438" height="221" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-11.jpg" alt="" class="wp-image-2240" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-11.jpg 438w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-11-300x151.jpg 300w" sizes="(max-width: 438px) 100vw, 438px" /></figure>



<p>さらに性別で分けて生死で色分けした形で再度描画します。</p>



<pre class="wp-block-code python"><code>Fg = sns.FacetGrid(titanic, <strong><em>col='Sex', hue="Survived"</em></strong>)
Fg = Fg.map(sns.distplot, "Age").add_legend()</code></pre>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="490" height="222" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-12.jpg" alt="" class="wp-image-2239" style="width:490px;height:auto" srcset="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-12.jpg 490w, https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/66c19942ab4ba346fdb64ccc04cde373-12-300x136.jpg 300w" sizes="(max-width: 490px) 100vw, 490px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-3 sbs-line sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://www.ct-innovation.blog/dl-freetime/wp-content/uploads/2024/02/cropped-図1.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>女性だけでなく子供も生存率が高いです。</p>



<p><span class="marker-under-blue">年齢を10歳刻みで分けてファクターにするのは有効</span>と考えられそうです。</p>
</div></div>



<h2 class="wp-block-heading">結果</h2>



<p>Seabornは、データの可視化を美しくグラフを非常にスマートなコードで実現できることがわかりました。この記事では、Seabornの基本的な使い方として、pairplot、catplot、countplot、FacetGridの4つの例を紹介しました。これらの機能を活用することで、データの傾向や関係性を視覚的に把握できることを実演しました。</p>



<p>Seabornを使ってデータを探索し、パターンを発見し、洞察を得るための幅広い機能が提供されています。データサイエンスや機械学習の分野で作業する際に、Seabornは強力な味方となることでしょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ct-innovation.blog/dl-freetime/kaggle/2209/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
