/
LeonBlue
/
ML_algos_from_scratch_python
Обзор
Документация
Войти
/
LeonBlue
/
ML_algos_from_scratch_python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
examples/linear_regression_example.py
57 строк
2 KB
LeonBlue
Минимальный набор алгоритмов для начала работы
03 дек 2025, 18:50
03 дек 2025, 18:50
28b87a5
Код
Авторство
О чём код?
""" Пример использования линейной регрессии """ import numpy as np import sys import os # Добавляем путь к корню проекта sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from ml_algorithms.supervised import LinearRegression from ml_algorithms.utils.metrics import mean_squared_error, r2_score from ml_algorithms.utils.preprocessing import StandardScaler def main(): # Генерация синтетических данных np.random.seed(42) n_samples = 100 n_features = 1 X = np.random.randn(n_samples, n_features) * 10 # y = 2*X + 3 + шум y = 2 * X.flatten() + 3 + np.random.randn(n_samples) * 2 # Разделение на обучающую и тестовую выборки split_idx = int(0.8 * n_samples) X_train, X_test = X[:split_idx], X[split_idx:] y_train, y_test = y[:split_idx], y[split_idx:] # Нормализация данных scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Обучение модели model = LinearRegression(method='normal_equation') model.fit(X_train_scaled, y_train) # Предсказания y_pred = model.predict(X_test_scaled) # Оценка качества mse = mean_squared_error(y_test, y_pred) r2 = r2_score(y_test, y_pred) print("Линейная регрессия") print("=" * 50) print(f"Коэффициенты: {model.coef_}") print(f"Свободный член: {model.intercept_:.4f}") print(f"MSE: {mse:.4f}") print(f"R²: {r2:.4f}") if __name__ == "__main__": main()