Создание совместимой оценки Sklearn: Dict 'Object не имеет атрибута' tress_fit 'Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание совместимой оценки Sklearn: Dict 'Object не имеет атрибута' tress_fit '

Сообщение Anonymous »

Я пытаюсь создать совместимую оценку Scikit-Learn. Я создал пользовательский класс, который наследует от BaseStimator и регрессормиксин . Однако, когда я пытаюсь использовать это, я сталкиваюсь с AttributeError: «Dict 'Object не имеет атрибута« Tress_fit », что я не знаю, как решить. Здесь я публикую пример минимального кода. Логика для получения параметров в этом классе не имеет значения, я просто заинтересован в том, чтобы заставить ее работать с подтверждениями и проверками. < /P>

Код: Выделить всё

from sklearn.utils.validation import check_is_fitted, check_X_y
import numpy as np
from sklearn.base import BaseEstimator, RegressorMixin

class BaseModel(BaseEstimator, RegressorMixin):
"""
Base class for penalized regression models using cp.
"""
def __init__(self,
param: float = 0.5):
self.param = param

def _obtain_beta(self, X, y):
self.intercept_ = 0
self.coef_ = self.param * np.ones(X.shape[0])

def fit(self, X: np.ndarray, y: np.ndarray):
self.feature_names_in_ = None
if hasattr(X, "columns") and callable(getattr(X, "columns", None)):
self.feature_names_in_ = np.asarray(X.columns, dtype=object)
X, y = check_X_y(X, y, accept_sparse=False, y_numeric=True, ensure_min_samples=2)
self.n_features_in_ = X.shape[1]
# Solve the problem
self._obtain_beta(X, y)
self.is_fitted_ = True
return self

def predict(self, X: np.ndarray) -> np.ndarray:
check_is_fitted(self, ["coef_", "intercept_", "is_fitted_"])
predictions = np.dot(X, self.coef_) + self.intercept
return predictions

def __sklearn_tags__(self):
tags = {
"allow_nan": False,
"requires_y": True,
"requires_fit": True,
}
return tags

# USAGE EXAMPLE

from sklearn.datasets import make_regression

X, y, beta = make_regression(n_samples=200, n_features=200, n_informative=25, bias=10, noise=5, random_state=42, coef=True)
model = BaseModel()
model.fit(X, y)
< /code>
Выполнение этой ошибки создает эту ошибку: < /p>
AttributeError: 'dict' object has no attribute 'requires_fit'
File ~\anaconda3\envs\py311env\Lib\site-packages\IPython\core\formatters.py:1036, in MimeBundleFormatter.__call__(self, obj, include, exclude)
1033     method = get_real_method(obj, self.print_method)
1035     if method is not None:
-> 1036         return method(include=include, exclude=exclude)
1037     return None
1038 else:
Show Traceback
говорит, что у него нет атрибута Tress_fit , но я включаю этот атрибут в теги. Я работаю на машине Windows 11 со следующими требованиями: < /p>

Код: Выделить всё

Python 3.11.12
numpy 2.0.2
scikit-learn 1.6.1
Изменение версии Python или Packages не является для меня опцией в этом случае.

Подробнее здесь: https://stackoverflow.com/questions/796 ... te-require
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создание совместимой оценки Sklearn: Dict 'Object не имеет атрибута' tress_fit '
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Создание совместимой оценки Sklearn: Dict 'Object не имеет атрибута' tress_fit '
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • AttrubleTerror: 'function' Object не имеет атрибута 'fit'
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Реализация sklearn.ensemble.GradientBoostingRegressor с помощью sklearn.multioutput.MultiOutputRegressor и sklearn.model
    Anonymous » » в форуме Python
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous
  • Реализация sklearn.ensemble.GradientBoostingRegressor с помощью sklearn.multioutput.MultiOutputRegressor и sklearn.model
    Anonymous » » в форуме Python
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»