什么是 ML 模型
Coddy 机器学习入门 课程的第 3 课,共 19 课。
机器学习模型旨在根据历史数据进行预测。为了有效地做到这一点,模型必须了解数据集的统计特性。仅仅向模型提供描述数据分布的算法或数学函数,并不能让它获得这种理解。
模型必须通过训练来学习这些特性。此外,每个数据集都有独特的统计特性。因此,必须为每个不同的数据集单独训练一个模型。
学习阶段称为 fitting 或 fit。模型学习数据分布后,我们可以向它输入从未见过的新数据,并预测输出,这个阶段称为 predicting 或 predict。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
简单在这个挑战中,我们将创建最简单的监督式机器学习模型。这个模型在工业界完全不会被使用。创建这个模型的目的只是展示真正的机器学习模型是什么样的。
创建一个模型,针对相应的 X 值,返回出现频率最高的 y 值。
说明:
fit方法会针对每个X统计出现频率最高的y,并将结果存储在self.mode变量中
例如,对于以下数据集:<strong>X</strong>A B A A B <strong>Y</strong>1 1 0 1 1 self.mode应保存:{"A": 1, "B": 1}predict方法接收一个由X_test组成的列表,并返回一个长度相同的列表。返回列表中的每个值都是根据fit阶段学到的self.mode,针对相应X预测出的y。
例如,如果self.mode保存了{"A": 1, "B": 1},并且X_train是['A', 'B', 'C'],那么输出应为:[1, 1, None]
如何通过测试用例:
创建一个名为 train_and_predict 的函数,接收 X_train、y_train 和 X_test 列表。它将按以下步骤执行:
- 使用
X_train和y_train调用fit方法进行学习 - 预测
X_test的标签 - 返回预测出的标签
亲手试试
import numpy as np
np.set_printoptions(legacy='1.13')
class SimpleModel:
def __init__(self):
self.mode = {}
def fit(self, X, y):
# 在这里编写你的代码
def predict(self, X):
# 在这里编写你的代码
def train_and_predict(X_train, y_train, X_test):
model = SimpleModel()
# 用 X_train 和 y_train 训练模型
# 预测 X_test 的标签
# 返回预测的标签机器学习入门中的所有课
自己练习: Python 在线编译器