Привет ,

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

Мы будем использовать python для реализации модели машинного обучения вместе с некоторыми базовыми библиотеками на python, такими как:

  1. Numpy: Numpy — это фундаментальная библиотека в области машинного обучения и науки о данных. Он предоставляет мощный набор инструментов для научных вычислений и манипулирования данными. В контексте прогнозирования цен на жилье с использованием линейной регрессии numpy играет решающую роль в обработке данных и управлении ими. Numpy используется для загрузки и обработки этих данных, что часто хранятся в файлах CSV или Excel. После загрузки данных в массивы numpy ими можно легко манипулировать для выполнения различных операций, необходимых для линейной регрессии.
  2. Pandas. Pandas — это мощная библиотека, которая играет жизненно важную роль в подготовке и очистке данных для линейной регрессии при прогнозировании цен на жилье. Он позволяет пользователям манипулировать и анализировать большие наборы данных в различных форматах, включая CSV, Excel, базы данных SQL и другие. Библиотека предлагает основные функции, такие как очистка данных, преобразование данных и агрегация данных, что делает ее важным инструментом для предварительной обработки данных. Pandas может помочь идентифицировать и обрабатывать отсутствующие данные, удалять повторяющиеся значения и преобразовывать категориальные данные в числовые данные с помощью горячего кодирования. Кроме того, он позволяет объединять и объединять наборы данных, что упрощает объединение данных из различных источников для создания всеобъемлющего набора данных для моделирования линейной регрессии.
  3. Matplotlib: — Matplotlib — это библиотека Python, используемая для визуализации данных. В контексте прогнозирования цен на жилье с использованием линейной регрессии Matplotlib используется для построения линии регрессии на точечной диаграмме, что позволяет визуально представить взаимосвязь между переменными-предикторами и целевой переменной. Это важный инструмент для понимания и интерпретации результатов модели линейной регрессии.
  4. Seaborn. Seaborn — это библиотека визуализации данных Python, которая часто используется для улучшения представления моделей линейной регрессии. Он может создавать эстетически приятные визуализации моделей регрессии, такие как диаграммы рассеяния с линиями регрессии и доверительными интервалами. Seaborn также предлагает различные варианты настройки визуализации, включая цветовые палитры и стили печати. Используя Seaborn вместе с моделью линейной регрессии, аналитики данных могут создавать убедительные визуализации, чтобы донести информацию о модели до других.
  5. Scikit-learn: — Scikit-learn (sklearn) — это популярная библиотека машинного обучения на Python, которая предоставляет широкий спектр инструментов для построения прогностических моделей. В прогнозировании цен на жилье с использованием линейной регрессии sklearn играет важную роль в предварительной обработке данных, обучении модели и оценке. Он предоставляет функции для разделения данных, нормализации, выбора признаков, построения модели и оценки. Модуль линейной регрессии Sklearn предоставляет простой и эффективный метод построения модели линейной регрессии. Он также предлагает различные показатели, такие как среднеквадратическая ошибка, средняя абсолютная ошибка и R-квадрат, для оценки производительности модели. Благодаря удобному интерфейсу и мощным функциям sklearn стал важным инструментом для построения моделей машинного обучения в различных областях, включая прогнозирование цен на жилье.

Наша цель — создать модель, которая предсказывает цену дома на основе местоположения дома, цены и других аспектов, таких как квадратные футы и т. д. Такие модели можно создавать разными способами, но основная цель нашей модели — получить хорошую точность и точность в метриках классификации. Хорошая «точность» и «точность» делают модель более безошибочной в прогнозах и обеспечивают эффективный результат.

Давайте начнем строить нашу модель, вы можете найти мой код и набор данных в моей ссылке на github, приведенной ниже.



Во-первых, нам нужен набор данных, содержащий информацию о домах в США. Мы можем использовать набор данных US Housing, который содержит информацию о различных домах в Соединенных Штатах. Набор данных имеет 7 атрибутов, таких как средний доход в районе, средний возраст дома в районе, цена, адрес и т. д. Целевой переменной в наборе данных о жилье в США является столбец «медианная стоимость дома», который представляет собой медианное значение дома в блоке по 100 000 долларов.

В коде мы в первую очередь читаем библиотеки и импортируем набор данных

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

Как только атрибуты известны, пришло время для некоторого исследовательского анализа данных.

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

Линейная регрессия: –

Линейная регрессия — это статистический метод, используемый в машинном обучении для моделирования связи между зависимой переменной и одной или несколькими независимыми переменными. Это простой и широко используемый метод, который можно использовать для прогнозирования числовых значений, таких как цена дома, на основе его характеристик. Он работает на линии y=mx+c, чтобы предсказать результат

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

Начнем с разделения наших данных на наборы для обучения и тестирования. Мы используем обучающий набор для обучения нашей модели и тестовый набор для оценки ее производительности. Затем мы подгоняем модель линейной регрессии к обучающим данным, используя соответствующий алгоритм.

Чтобы создать экземпляр линейной регрессии из scikit-learn, мы сначала импортируем класс LinearRegression из библиотеки. Затем мы создаем экземпляр класса LinearRegression, который можно настроить с помощью дополнительных параметров, таких как fit_intercept, normalize и copy_X.

После создания экземпляра мы можем подогнать модель линейной регрессии к данным, используя метод fit(). Метод fit() принимает два аргумента: X — входные данные и y — целевая переменная, которую мы хотим предсказать.

Из приведенного выше рисунка, представляющего код, в котором мы использовали lm.fit(), объясняется подгонка данных X (входных) и данных y (выходных).

Вы также можете использовать lm.intercept()_

После подгонки модели к данным мы можем использовать ее для прогнозирования новых данных, вызвав метод .predict() с новым набором значений признаков.

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

Наш следующий шаг — оценить производительность вашей модели с использованием таких показателей, как R-квадрат, среднеквадратическая ошибка (MSE), среднеквадратическая ошибка (RMSE) и средняя абсолютная ошибка (MAE).

MSE измеряет среднеквадратичную разницу между прогнозируемыми и фактическими значениями целевой переменной. Чем ниже MSE, тем лучше производительность модели. RMSE — это просто квадратный корень из MSE, который упрощает интерпретацию, поскольку он находится в тех же единицах, что и целевая переменная.

MAE, с другой стороны, измеряет среднюю абсолютную разницу между прогнозируемыми и фактическими значениями. В отличие от MSE и RMSE, MAE не так сильно наказывает большие ошибки, что делает его хорошим выбором, когда целевая переменная имеет выбросы или когда большие ошибки не так важны.

Для расчета этих показателей в Python scikit-learn предоставляет функции mean_squared_error(), mean_absolute_error() и mean_squared_error(). После подгонки модели линейной регрессии к набору данных жилищного строительства США вы можете использовать эти функции для оценки производительности модели на тестовом наборе. Чем ниже значения MSE, RMSE и MAE, тем лучше производительность модели на тестовом наборе. Важно иметь в виду, что эти показатели являются лишь частью процесса оценки и должны использоваться в сочетании с другими методами оценки, чтобы обеспечить хорошую работу модели.

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

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

Спасибо, что прочитали!

Вернусь с новыми моделями и алгоритмами, пока-пока!!