すべての特徴量を一度に
CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 57/64。
特徴量が30個ならヒストグラムも30個必要です。次のアヤメの4つの特徴量のように、小さなグラフを1つのグリッドに並べると、より素早く読み取れます。
ループでグリッドを埋めます。グラフ 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はそれらを行ごとに並べます:
fig.tight_layout()はタイトル同士が重ならないようにします。では、読み取ってみましょう。花弁のヒストグラムはどちらも2つに分かれています。このようなすき間は、クラスが分離していることを示す場合が多いので、この特徴は残しておきましょう。
チャレンジ
中級組織データ全体を見てみましょう。入力ではグループ mean、error、worst のいずれかを選び、スターターコードではそのグループの最初の6つの特徴量名を names に格納します。
- 2行3列のグリッドを作成します。
- グラフ
iに特徴量iのヒストグラムをビン数20で描き、特徴量名をタイトルにします。 - レイアウトを整えてから、表示します。
6つのワインの特徴量を並べたグリッドの例:
プログラムは何も出力しません。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]
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
機械学習のための統計のすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ