Menu
CoddyTech

回顾:攀登伙伴

本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 51 课,共 64 课。

challenge icon

挑战

中等

攀岩馆会为每位新人匹配一位最相似的成员。members 的每一行代表一位成员,其姓名在 names 中:身高(厘米)、臂展(厘米)和悬垂时间(在单杠上的分钟数)。程序会读取新人的测量数据。

  1. 在原始表格中找出最近的成员。
  2. 使用成员数据拟合 StandardScaler 并进行标准化;输出新人的标准化数据。
  3. 在标准化后的表格中再次找出最近的成员。

四舍五入到小数点后 2 位。另一家健身馆有 3 位成员:

另一家健身馆的数据表:一位新人和 3 位成员 Kim、Lou 和 Max,包含身高、臂展和悬垂时间。旁边列出每位成员到新人的距离:原始数据中 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"]
# 每位成员占一行:身高和臂展以 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 在线编译器