列から散布図を作成する
CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 48/60。
バッテリーが大きいほど、航続距離は長くなるのでしょうか?2列の散布図なら、一目でわかります。各行が1つの点です:
リストが使われていた場所には列を使うので、ax.scatterには2つの列を渡します:
bikes = pd.DataFrame({
"battery_wh": [250, 300, 400, 500, 500, 625, 750],
"range_km": [35, 45, 60, 65, 75, 95, 110],
})
fig, ax = plt.subplots()
ax.scatter(bikes["battery_wh"], bikes["range_km"])
ax.set_title("E-bike Range")
ax.set_xlabel("Battery (Wh)")
ax.set_ylabel("Range (km)")
plt.show()右上がりの点は、列が一緒に増えることを意味します。これはモデルが学習できる関係です。形のない雲は、関係がないことを意味します。
ax.scatterには列名は渡されないため、軸ラベルは自分で設定します。
チャレンジ
中級公園管理人がtrees.csvにある12本の木を測定しました。項目はage_years、trunk_cm、height_mです。高さと年齢、幹の幅のどちらが関係しているでしょうか?スターターコードでは、その2つの名前のどちらかをcolumnに読み込み、グラフを準備します。
- 木1本につき点を1つ描きます。横軸にはその列を、縦軸には
height_mを使います。 - x軸に列の名前を付けます。
別の公園のcrown_mを使った、次のグラフのようになるはずです。
Coddyは両方の列でコードを実行し、それぞれのグラフについて説明します。2つを比べてみましょう。より密に上昇する帯状の分布が、答えを示しています。
自分で試してみよう
import pandas as pd
import matplotlib.pyplot as plt
trees = pd.read_csv("trees.csv")
column = input()
fig, ax = plt.subplots()
ax.set_title("Tree Size")
ax.set_ylabel("Height (m)")
# 以下にコードを書いてください
# 下の行は変更しないでください
plt.show()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
データとプロットのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ