Menu
CoddyTech

振り返り:登山のパートナー

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

challenge icon

チャレンジ

中級

クライミングジムでは、新しく入会した人に最も似ているメンバーを紹介します。members の各行はメンバーを表し、names に名前が入っています。身長(cm)、腕の長さ(cm)、デッドハング(バーにぶら下がる時間、分)です。プログラムは新しく入会した人の測定値を読み込みます。

  1. 元の表で最も近いメンバーを見つけます。
  2. メンバーを使って StandardScaler を学習し、標準化します。新しく入会した人の標準化後の値を出力します。
  3. 標準化後の表で、もう一度最も近いメンバーを見つけます。

小数第2位まで丸めます。別のジムに、メンバーが3人います。

別のジムの表:新しく入会した人と、Kim、Lou、Maxの3人のメンバーの身長、腕の長さ、デッドハング。横には、新しく入会した人までの各メンバーの距離が表示されています。標準化前はKimが最も近く4.56、標準化後はLouが最も近く1.09

出力結果:

Nearest before scaling: Kim (4.56)
Newcomer scaled: [[-0.38 -0.54  0.98]]
Nearest after scaling: Lou (1.09)

自分で試してみよう

import numpy as np
from sklearn.preprocessing import StandardScaler

names = ["Iris", "Jon", "Kai", "Lena", "Max", "Nora"]
# メンバーごとに1行:身長(cm)、腕を広げた長さ(cm)、ぶら下がれる時間(分)
members = np.array([[166, 169, 1.6],
                    [182, 188, 1.1],
                    [171, 170, 2.3],
                    [176, 181, 1.4],
                    [188, 191, 2.0],
                    [160, 163, 0.9]])
# 新しいメンバー
height = float(input())
span = float(input())
hang = float(input())

# 以下にコードを書いてください

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

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