Построение простой модели машинного обучения

| | | | | | | | | | | | | | |

Модель линейной регрессии

# библиотека Python для генерации случайных чисел

from случайный import randint


# ограничение, в пределах которого генерируются случайные числа

TRAIN_SET_LIMIT = 1000


# создать ровно 100 элементов данных

TRAIN_SET_COUNT = 100


# список, содержащий ввод и соответствующий вывод

TRAIN_INPUT = list ()

TRAIN_OUTPUT = список ()


# цикл для создания 100 элементов данных с тремя столбцами в каждом

для i in диапазон (TRAIN_SET_COUNT):

a = randint ( 0 , TRA IN_SET_LIMIT)

b = randint ( 0 , TRAIN_SET_LIMIT)

c = randint ( 0 , TRAIN_SET_LIMIT)


# генерировать выходные данные для каждого элемента

op = a + ( 2 * b) + ( 3 * c)

TRAIN_INPUT.append ([a, b, c])


# добавить каждый вывод в список вывода

TRAIN_OUTPUT.append (op)

Модель машинного обучения — линейная регрессия

Модель можно создать в два этапа:
1. Обучение модели с использованием обучающих данных
2. Тестирование моделей с помощью тестовых данных

Обучение модели
Для обучения модели используются данные, сгенерированные с помощью приведенного выше кода.

# Sk-Learn содержит модель линейной регрессии

from sklearn .linear_model import LinearRegression


# Инициализировать модель линейной регрессии

предиктор = LinearRegression (n_jobs = - 1 )


# Заполняем модель данными

Predictor.fit (X = TRAIN_INPUT, y = TRAIN_OUTPUT)

Тестирование данных
Тестирование выполняется вручную. Тестирование может быть выполнено с использованием некоторых случайных данных и тестирования, если модель дает правильный результат для ввода.


# Случайные тестовые данные
X_TEST = [[10, 20, 30]]


# Предсказать результат X_TEST, который содержит данные тестирования
result = Predictor.predict (X = X_TEST)


# Предсказать коэффициенты
коэффициенты = Predictor.coef_


# Печать результат, полученный для тестовых данных

print ( `Результат: {} Коэффициенты: {}` .format (результат, коэффициенты))

Результат приведенных выше тестовых данных должен быть 10 + 20 * 2 + 30 * 3 = 140.
Выход

Результат: [140.] Коэффициенты: [ 1. 2. 3.]