Стоимость дома может зависеть от многих факторов, таких как местоположение, площадь, количество спален, количество ванных комнат и многих других факторов. Здесь зависимая переменная — стоимость дома, а факторы — независимая переменная.

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

Что такое регрессия?

Регрессия в методе установления связи между двумя переменными. Это делается следующим образом:

  1. Точки данных нанесены на график.
  2. Найдена прямая линия, нормализованная точками данных. Это известно как линия регрессии. Это делается по формуле Y=mX+b. где Yцелевая переменная или зависимая переменная, mнаклон линии, X — это фактор или независимая переменная, а b — это отрезок. (Не волнуйтесь, если вы этого не понимаете. Python позаботится обо всех вычисляемых значениях).

Здесь синие точки — это точки данных, а красная линия — линия регрессии. Как видите, линия регрессии нормализована точками данных. Для неизвестного значения 'y' мы можем определить, задано ли значение 'x', нанеся его на линию регрессии.

Например, на изображении выше, если вы хотите найти значение 'y для значения 'x' 30. Мы просто проводим линию к линии регрессии от оси x и снова продлеваем ее до оси y. На изображении ниже видно, что значение y для значения x 30 приблизительно равно 10.

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

Давайте программировать!

Теперь мы собираемся построить простую модель машинного обучения с линейной регрессией, используя Python и некоторые библиотеки. Библиотеки представляют собой набор программ, уже написанных для упрощения вычислений. Если вы не знакомы с общими терминами машинного обучения, такими как Модель, Обучение и т. д., посетите мою статью Основные термины машинного обучения, используя эту ссылку. Давайте начнем кодировать!

Здесь мы импортировали необходимые библиотеки и пакеты для выполнения простой линейной регрессии. Импортированные библиотеки и пакеты:

  1. Numpy: это пакет, который используется для научных вычислений и вычислений массивов в python.
  2. Pandas: это мощный пакет с некоторыми функциями для анализа и обработки данных.
  3. Sklearn: это бесплатная библиотека машинного обучения, которая содержит множество функций и методов, необходимых для построения модели машинного обучения.

Здесь мы импортируем набор данных с именем kc_house_data.csv, который содержит данные переменных, необходимых для прогнозирования цены дома. Здесь мы выбрали только независимую переменную проживание в квадратных футах и зависимую переменную цена. Ссылка на набор данных здесь.

Здесь мы предварительно обрабатываем данные с помощью пакета numpy. Функция reshape преобразует пространственный массив в столбец.

Здесь мы разделяем набор данных на обучающие и тестовые наборы, используя метод train_test_split библиотеки Sklearn. Это делается для того, чтобы проверить, с какой точностью предсказывает наша модель. Здесь мы разделили данные на 2/3 части для обучения и 1/3 части для тестирования.

Здесь мы вызываем метод LinearRegression из библиотеки sklearn для построения модели линейной регрессии с использованием обучающего набора. Как я уже говорил вам ранее, математические вычисления, которые должны быть выполнены здесь, будут выполняться самой библиотечной функцией.

Здесь мы проходим набор тестов к уже построенной модели для прогнозирования цен на дома.

Здесь мы печатаем результаты прогноза.

Вот ссылка на полный код для практического опыта. Любые вопросы, пожалуйста, свяжитесь со мной через LinkedIn. Счастливого обучения!!!