Menu
CoddyTech

什么是 ML 模型

Coddy 机器学习入门 课程的第 3 课,共 19 课。

机器学习模型旨在根据历史数据进行预测。为了有效地做到这一点,模型必须了解数据集的统计特性。仅仅向模型提供描述数据分布的算法或数学函数,并不能让它获得这种理解。

模型必须通过训练来学习这些特性。此外,每个数据集都有独特的统计特性。因此,必须为每个不同的数据集单独训练一个模型。

 

学习阶段称为 fitting 或 fit。模型学习数据分布后,我们可以向它输入从未见过的新数据,并预测输出,这个阶段称为 predicting 或 predict。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

简单

在这个挑战中,我们将创建最简单的监督式机器学习模型。这个模型在工业界完全不会被使用。创建这个模型的目的只是展示真正的机器学习模型是什么样的。

创建一个模型,针对相应的 X 值,返回出现频率最高的 y 值。

说明: 

  • fit 方法会针对每个 X 统计出现频率最高的 y,并将结果存储在 self.mode 变量中
    例如,对于以下数据集:

    <strong>X</strong>ABAAB
    <strong>Y</strong>11011

    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 在线编译器