ПРИЛОЖЕНИЕ 7

 

ЭТАЛОН ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ №6 (ЛР6): ПРИМЕР ПОСТРОЕНИЯ МОДЕЛИ МАШИННОГО ОБУЧЕНИЯ

 

Пример: прогноз популярности трека.

Задача – оценить влияние характеристик трека на количество просмотров.

1. ИМПОРТ БИБЛИОТЕК

import pandas as pd
import matplotlib.pyplot as plt

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

2. ЗАГРУЗКА ДАННЫХ

df = pd.read_csv("data/spotify_edu_dataset.csv")

 

3. ПОДГОТОВКА ПРИЗНАКОВ

features = ["energy", "danceability", "tempo", "duration_sec"]

X = df[features]
y = df[
"views"]

4. РАЗДЕЛЕНИЕ ОБУЧАЮЩЕЙ И ТЕСТОВОЙ ВЫБОРКИ

X_train, X_test, y_train, y_test = train_test_split(
    X, y,
    test_size=0.2,
    random_state=42
)

5. ОБУЧЕНИЕ МОДЕЛИ

model = LinearRegression()
model.fit(X_train, y_train)

6. ПРЕДСКАЗАНИЕ

y_pred = model.predict(X_test)

 

7. ОЦЕНКА КАЧЕСТВА МОДЕЛИ

r2 = r2_score(y_test, y_pred)
print(
"R²:", r2)

8. ВИЗУАЛИЗАЦИЯ РЕЗУЛЬТАТОВ

plt.scatter(y_test, y_pred)

plt.xlabel("Реальные значения")
plt.ylabel("Предсказанные значения")
plt.title("Сравнение реальных и предсказанных значений")

plt.show()

 

ИНТЕРПРЕТАЦИЯ РЕЗУЛЬТАТОВ

Если точки на графике располагаются близко к диагонали, модель хорошо прогнозирует значения.

Коэффициент R² показывает долю вариации целевой переменной, объясняемую моделью.