Menu
CoddyTech

Что такое модель ML

Урок 3 из 19 курса Введение в машинное обучение на Coddy.

Модель машинного обучения стремится делать прогнозы на основе исторических данных. Чтобы делать это эффективно, модель должна понимать статистические свойства набора данных. Это понимание не может быть достигнуто простым предоставлением модели алгоритма или математической функции, описывающей распределение данных.

Вместо этого модель должна изучить эти свойства в процессе обучения. Кроме того, каждый набор данных обладает уникальными статистическими свойствами. Поэтому для каждого отдельного набора данных должна быть обучена отдельная модель.

 

Фаза обучения называется fitting или fit. После того как модель изучит распределение данных, мы можем подать ей новые данные, которые она никогда не видела, и предсказать результат; эта фаза называется predicting или predict.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

challenge icon

Задание

Легко

В этом испытании мы создадим простейшую модель машинного обучения с учителем. Эта модель никак не используется в индустрии. Скорее, вся цель этой модели — продемонстрировать, как могла бы выглядеть реальная модель машинного обучения.

Создайте модель, которая возвращает наиболее частое значение y для соответствующих значений X.

Инструкции: 

  • Метод fit подсчитывает для каждого X наиболее частое значение y и сохраняет результат в переменной self.mode
    Например, для следующего набора данных:

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

    self.mode должен содержать: {"A": 1, "B": 1}

  • Метод predict получает список X_test и возвращает список той же длины. Каждое значение в возвращаемом списке — это предсказанное значение y, соответствующее X, с использованием self.mode, изученного на этапе fit.
    например, если self.mode содержит {"A": 1, "B": 1}, а X_train — это ['A', 'B', 'C'], то выходные данные должны быть: [1, 1, None]

Как пройти тест-кейсы:

Создайте функцию с именем train_and_predict, которая получает списки X_train, y_train и X_test. Она будет выполнять следующие шаги:

  • Обучение с использованием метода fit с X_train и y_train 
  • предсказание меток для 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