Что такое модель ML
Урок 3 из 19 курса Введение в машинное обучение на Coddy.
Модель машинного обучения стремится делать прогнозы на основе исторических данных. Чтобы делать это эффективно, модель должна понимать статистические свойства набора данных. Это понимание не может быть достигнуто простым предоставлением модели алгоритма или математической функции, описывающей распределение данных.
Вместо этого модель должна изучить эти свойства в процессе обучения. Кроме того, каждый набор данных обладает уникальными статистическими свойствами. Поэтому для каждого отдельного набора данных должна быть обучена отдельная модель.
Фаза обучения называется fitting или fit. После того как модель изучит распределение данных, мы можем подать ей новые данные, которые она никогда не видела, и предсказать результат; эта фаза называется predicting или predict.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Задание
ЛегкоВ этом испытании мы создадим простейшую модель машинного обучения с учителем. Эта модель никак не используется в индустрии. Скорее, вся цель этой модели — продемонстрировать, как могла бы выглядеть реальная модель машинного обучения.
Создайте модель, которая возвращает наиболее частое значение y для соответствующих значений X.
Инструкции:
Метод
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и возвращает список той же длины. Каждое значение в возвращаемом списке — это предсказанное значение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