Published on

September 18, 2022

Разработка модели линейной регрессии в SQL Server

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

Предварительные требования

Прежде чем мы начнем, убедитесь, что у вас есть следующее:

  • Установлен SQL Server 2017
  • Установлен Python и службы машинного обучения

Анализ данных

Первый шаг в любом упражнении по науке о данных – анализ образца данных и определение интересующих полей. В этом упражнении мы рассмотрим образец набора данных с двумя полями: Цельсий и Фаренгейт. Нашей целью является определение связи между этими двумя переменными.

Чтобы определить, можно ли применить линейную регрессию к данным, мы можем создать диаграмму рассеяния зависимых (Фаренгейт) и независимых (Цельсий) переменных. Если диаграмма рассеяния показывает линейную или почти линейную связь, то можно применять алгоритмы линейной регрессии.

Реализация алгоритма линейной регрессии

Для реализации алгоритма линейной регрессии в SQL Server мы создадим таблицу с именем “Readings” с показаниями Цельсия и Фаренгейта. Затем мы будем использовать код T-SQL для определения коэффициентов “a” и “b” для уравнения линейной регрессии.

Вот код T-SQL:

CREATE TABLE Readings (
  Celsius FLOAT,
  Fahrenheit FLOAT
);

-- Вставка данных в таблицу Readings

EXEC sp_execute_external_script
  @language = N'Python',
  @script = N'
from revoscalepy import rx_lin_mod, rx_predict

linearmodel = rx_lin_mod(formula = "Fahrenheit ~ Celsius", data = InputDataSet)
predict = rx_predict(linearmodel, data = InputDataSet[["Celsius"]])
predict.insert(loc=0, column="Celsius", value=InputDataSet[["Celsius"]])

OutputDataSet = predict
',
  @input_data_1 = N'SELECT * FROM Readings'

После выполнения кода вы получите прогнозируемый вывод для заданных входных значений.

Интерпретация результатов

Путем печати сводки линейной модели мы можем найти коэффициенты “a” и “b”, а также другие статистические показатели, такие как R-квадрат, асимметрия, эксцесс и p-значение. Эти статистические показатели предоставляют информацию о точности и уверенности модели.

Используя полученные коэффициенты и уравнение линейной регрессии, мы легко можем вычислить или предсказать значения. Например, если мы хотим предсказать значение Фаренгейта для 1 градуса Цельсия, мы можем использовать формулу:

Фаренгейт = (Y-пересечение) + (наклон * Цельсий)

Используя это уравнение с полученными коэффициентами, мы можем предсказать значение Фаренгейта для любого заданного значения Цельсия.

Заключение

В этой статье мы узнали, как разработать модель линейной регрессии в SQL Server. Анализируя данные, реализуя алгоритм и интерпретируя результаты, мы можем делать прогнозы на основе связи между зависимыми и независимыми переменными. Линейная регрессия является мощным инструментом в машинном обучении и может применяться в различных реальных сценариях.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.