
Хотя логистическая регрессия является инструментом для классификации, она лучше всего работает в случаях, когда классы хорошо разделимы с помощью линейной границы. Если данные имеют сложную структуру или включают сильно пересекающиеся группы, точность модели может снижаться. В таких случаях могут потребоваться более сложные методы, такие как нейросети или градиентный бустинг, но логистическая регрессия остаётся хорошей отправной точкой, благодаря своей интерпретируемости и эффективности на больших наборах данных.
Линейная и логистическая регрессия – это универсальные инструменты, которые можно применять в самых разных задачах: от предсказания продаж в бизнесе до медицинской диагностики и анализа пользовательского поведения. Их простота, скорость обучения и интерпретируемость делают их важной частью арсенала аналитиков данных и специалистов по машинному обучению.
Разберем два примера: первый – применение линейной регрессии для предсказания стоимости квартиры, второй – использование логистической регрессии для классификации пассажиров «Титаника» на выживших и погибших.
Пример 1: Линейная регрессия для предсказания стоимости квартиры
Допустим, у нас есть данные о квартирах, включая площадь, количество комнат и удаленность от центра города. Наша цель – предсказать стоимость квартиры на основе этих параметров.
Шаг 1: Загрузка данных и подготовка
Сначала установим необходимые библиотеки и загрузим данные.
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error
# Создадим искусственный набор данных
data = {
'Площадь': [30, 45, 50, 60, 75, 90, 110, 150, 200, 250],
'Комнат': [1, 1, 2, 2, 3, 3, 4, 5, 6, 7],
'Удаленность_от_центра': [10, 8, 7, 5, 4, 3, 2, 1, 1, 1],
'Цена': [3.5, 5.0, 6.0, 7.5, 9.0, 11.0, 13.5, 18.0, 24.0, 30.0]
}
df = pd.DataFrame(data)
# Разделим данные на входные признаки (X) и целевую переменную (y)
X = df[['Площадь', 'Комнат', 'Удаленность_от_центра']]
y = df['Цена']
# Разделим выборку на обучающую и тестовую
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
Шаг 2: Обучение модели линейной регрессии
Создадим и обучим модель.
```python
# Создаем модель линейной регрессии
model = LinearRegression()
# Обучаем модель
model.fit(X_train, y_train)
# Предсказываем цены квартир на тестовых данных
y_pred = model.predict(X_test)
```
Шаг 3: Оценка качества модели
Оценим точность предсказаний, используя метрики MSE и MAE.
```python
mse = mean_squared_error(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
print(f"Среднеквадратичная ошибка (MSE): {mse:.2f}")
print(f"Средняя абсолютная ошибка (MAE): {mae:.2f}")
```
Шаг 4: Визуализация результатов
Посмотрим, насколько предсказанные значения соответствуют реальным.
```python
plt.scatter(y_test, y_pred)
plt.xlabel("Фактическая цена (млн)")
plt.ylabel("Предсказанная цена (млн)")
plt.title("Сравнение предсказанных и реальных цен")
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Всего 10 форматов