Menu
CoddyTech

すべての特徴量を一度に

CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 57/64。

特徴量が30個ならヒストグラムも30個必要です。次のアヤメの4つの特徴量のように、小さなグラフを1つのグリッドに並べると、より素早く読み取れます。

アヤメの特徴量ごとに1つずつ、2×2のグリッドに並んだ4つの小さなヒストグラム:2つのがく片のヒストグラムは単峰で、2つの花弁のヒストグラムはそれぞれ、左側の小さな塊と右側の幅広い山に分かれている

ループでグリッドを埋めます。グラフ i には特徴量 i を使います。

names = iris.feature_names
fig, axs = plt.subplots(2, 2)
for i in range(4):
    ax = axs.flat[i]
    ax.hist(iris.frame[names[i]], bins=15)
    ax.set_title(names[i])
fig.tight_layout()
plt.show()

plt.subplots(2, 2)はグラフの表を作成し、axs.flatはそれらを行ごとに並べます:

2行3列のグリッド。各セルには、まず行0に沿ってaxs.flat 0から5まで番号が付けられ、その後に行1が続き、それぞれの下には行と列が記されています

fig.tight_layout()はタイトル同士が重ならないようにします。では、読み取ってみましょう。花弁のヒストグラムはどちらも2つに分かれています。このようなすき間は、クラスが分離していることを示す場合が多いので、この特徴は残しておきましょう。

challenge icon

チャレンジ

中級

組織データ全体を見てみましょう。入力ではグループ mean、error、worst のいずれかを選び、スターターコードではそのグループの最初の6つの特徴量名を names に格納します。

  1. 2行3列のグリッドを作成します。
  2. グラフ i に特徴量 i のヒストグラムをビン数20で描き、特徴量名をタイトルにします。
  3. レイアウトを整えてから、表示します。

6つのワインの特徴量を並べたグリッドの例:

2行3列に並んだ6つの小さなヒストグラム。それぞれのタイトルは alcohol、malic_acid、ash、alcalinity_of_ash、magnesium、total_phenols で、各グラフのバーは20本

プログラムは何も出力しません。Coddyが各グラフを説明します。

自分で試してみよう

import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer

group = input()
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
# グループの最初の6つの特徴量名: mean、error、worstのいずれか
start = {"mean": 0, "error": 10, "worst": 20}[group]
names = cancer.feature_names[start:start + 6]

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

機械学習のための統計のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ