В области машинного обучения одним из основных процессов является определение зависимых и независимых переменных для разработки модели данных. Одним из самых простых и широко применяемых алгоритмов машинного обучения является линейная регрессия. В этой статье мы узнаем, как разработать модель машинного обучения с использованием алгоритма линейной регрессии в 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. Анализируя данные, реализуя алгоритм и интерпретируя результаты, мы можем делать прогнозы на основе связи между зависимыми и независимыми переменными. Линейная регрессия является мощным инструментом в машинном обучении и может применяться в различных реальных сценариях.