/
LeonBlue
/
ML_algos_from_scratch_python
Обзор
Документация
Войти
/
LeonBlue
/
ML_algos_from_scratch_python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ml_algorithms/base/base_model.py
82 строки
2 KB
LeonBlue
Добавлены Jupyter ноутбуки для теории и визуализации алгоритмов, обновлены зависимости в requirements.txt, улучшены классы KMeans и LogisticRegression с методами для получения и установки параметров модели.
07 дек 2025, 01:03
07 дек 2025, 01:03
80e326c
Код
Авторство
О чём код?
""" Базовый класс для всех ML моделей """ from abc import ABC, abstractmethod import numpy as np class BaseModel(ABC): """Абстрактный базовый класс для всех моделей машинного обучения""" def __init__(self): self.is_fitted = False @abstractmethod def fit(self, X, y=None): """ Обучение модели Parameters: ----------- X : array-like, shape (n_samples, n_features) Обучающие данные y : array-like, shape (n_samples,), optional Целевые значения (для обучения с учителем) Returns: -------- self : object """ pass @abstractmethod def predict(self, X): """ Предсказание на новых данных Parameters: ----------- X : array-like, shape (n_samples, n_features) Данные для предсказания Returns: -------- predictions : array-like Предсказания модели """ pass @abstractmethod def get_params(self): """ Получение параметров модели Parameters: """ pass @abstractmethod def set_params(self, **params): """ Установка параметров модели Parameters: ----------- **params : dict Параметры модели """ pass def _check_is_fitted(self): """Проверка, обучена ли модель""" if not self.is_fitted: raise ValueError("Модель еще не обучена. Вызовите fit() перед predict().") def _validate_input(self, X): """Валидация входных данных""" X = np.asarray(X) if X.ndim == 1: X = X.reshape(1, -1) return X