どうもニコイチです。前回に引き続きヒストグラムを使った可視化について、実践的に解説していきましょう。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 日本語フォントの設定
plt.rcParams['font.family'] = 'MS Gothic'
# データの読み込み
df = pd.read_csv('bank_data.csv')
# グラフのサイズ設定
plt.figure(figsize=(10, 6))
# 申込有無別にヒストグラムを描画
sns.distplot(df[df['y'] == 0]['duration'],
label='申込なし',
color='blue',
alpha=0.5)
sns.distplot(df[df['y'] == 1]['duration'],
label='申込あり',
color='red',
alpha=0.5)
# グラフの設定
plt.xlabel('最終接触時間(秒)')
plt.ylabel('頻度')
plt.title('定期預金申込有無別の最終接触時間分布')
plt.legend()
plt.xlim(0, 2000) # x軸の表示範囲を0-2000秒に制限
# グラフの表示
plt.show()
それでは、上記のコードを詳しく解説していきましょう!
全編はこちらから
Pythonでデータ分析を始めよう!初心者向けガイド | いきかちガジェットゲームLab:ガジェット・ゲーム・DX
どうもニコイチです。今回はdemoデータを使って実際に予測モデルを作れるようになることを目的とした、シリーズをご紹介します。Pyhonってなに?どうやってつかうの?と戸惑って…
目次
1. 必要なライブラリの準備
import pandas as pd # データ処理用
import seaborn as sns # グラフ作成用
import matplotlib.pyplot as plt # グラフのカスタマイズ用
これらは、料理で言えば「必要な調理器具を揃える」ような作業です。
2. 日本語表示の設定
plt.rcParams['font.family'] = 'MS Gothic'
これは、グラフに日本語を表示するための設定です。Windows環境では’MS Gothic’を指定します。
3. データの可視化のポイント解説
ヒストグラムとは?
ヒストグラムは、データの分布を「棒グラフ」のような形で表現するものです。例えて言えば、「身長測定で何人の人が160cm台か、170cm台か」というように、データを区間に分けて、それぞれの区間に何個のデータが入るかを数えて表示します。
重要なカスタマイズポイント:
- alpha=0.5
- 透明度を設定することで、2つのヒストグラムを重ねても見やすくなります
- これは、2枚の透明なシートを重ねるようなイメージです
- xlim(0, 2000)
- x軸の表示範囲を制限することで、重要な部分に焦点を当てます
- 外れ値(極端に大きな値)があっても、主要な分布が見やすくなります
- figure(figsize=(10, 6))
- グラフのサイズを設定します
- これは、「キャンバスの大きさを決める」ようなものです
4. つまずきやすいポイントと解決策
- データのフィルタリング
df[df['y'] == 0]['duration']
- この部分は初心者には少し難しく感じるかもしれません
- これは「申込なし(y=0)のデータだけを取り出す」という意味です
- 例えると、「赤いボールだけを箱から取り出す」ような作業です
- グラフの重ね方
- 2つのヒストグラムを重ねるには、distplot関数を2回使います
- 色を変えて(blue/red)、ラベルをつけることで区別しやすくなります
- 軸ラベルの設定
- xlabel、ylabelを使って軸の名前を設定します
- これは「グラフの説明書き」のようなものです
このコードを実行すると、定期預金の申込有無による最終接触時間の分布の違いが一目で分かるグラフが作成されます。このような可視化により、「申込があったケースとなかったケースで、接触時間にどのような違いがあるのか」という洞察を得ることができます。
コメント