
座標上のデータ同士の近さを数値で表します。
まず自分で予想してから、コードを動かしてみよう!

結果だけでなく、そう考えた理由も説明してみます。

QUESTION まず考えよう
3つの点A、B、Cでは、どの2点が最も近いでしょう?
この図で分かること・考え方
- 2点間の距離は、x座標の差とy座標の差から求めます。
- 座標の差を直角三角形の辺と見ると、距離の公式につながります。
- 複数の組を同じ方法で計算し、最も小さい距離を選びます。
PREDICT 実行前の予想
グラフを見ずに座標の差から予想してください。
TRY 実行して確かめよう
TRY
import math
import matplotlib.pyplot as plt
points = {'A': (1, 2), 'B': (3, 3), 'C': (7, 8)}
def distance(p, q):
return math.sqrt((p[0]-q[0])**2 + (p[1]-q[1])**2)
print('A-B:', distance(points['A'], points['B']))
print('A-C:', distance(points['A'], points['C']))
print('B-C:', distance(points['B'], points['C']))
for name, (x, y) in points.items():
plt.scatter(x, y)
plt.text(x, y, name)
plt.axis('equal')
plt.grid(True)
plt.show()
グラフや数値のどこが予想と同じで、どこが違ったかを見つけましょう。
CHECK 結果を読み取ろう
最も近い組と、その根拠となる距離を答えてください。
📖 考え方を確認する
AとBが最も近く、距離は√5、約2.24です。
CHALLENGE 自分で直してみよう
点D(2, 7)を追加し、Dに最も近い点を調べてください。
CHALLENGE
import math
points = {'A': (1, 2), 'B': (3, 3), 'C': (7, 8)}
d = (2, 7)
def distance(p, q):
return math.sqrt((p[0]-q[0])**2 + (p[1]-q[1])**2)
# DからA、B、Cまでの距離を表示しよう📖 解答例と解説
import math
points = {'A': (1, 2), 'B': (3, 3), 'C': (7, 8)}
d = (2, 7)
def distance(p, q):
return math.sqrt((p[0]-q[0])**2 + (p[1]-q[1])**2)
for name, point in points.items():
print(f'D-{name}: {distance(d, point):.2f}')DからBまでが約4.12で最も近いです。上級編では、この近さを分類などに利用します。
POINT
- 2点の座標差から距離を求める
- 距離が小さいほど近い
- 単位や尺度が違うデータでは注意が必要
NEXT 次の学びへ

次は点の集まり全体を1本の回帰直線で表します。
振り返り:今回使った命令、結果から分かったこと、この方法を使える場面を、それぞれ1文で書きましょう。