«лучший» метод оценки для TransformedTargetRegressor - PullRequest
1 голос
/ 25 октября 2019

TransformedTargetRegressor в scikit-learn не оценивает прогнозы, как я ожидал или хотел бы. Насколько я понимаю, он вызывает функцию r2score для исходного y и прогнозируемого y_pred после обратного преобразования выхода регрессора. Я бы предпочел знать оценку оценщика на преобразованном y и выходе регрессора. Ниже не показано для простоты, но я хотел бы сохранить все это в Pipeline, поэтому я надеюсь, что есть способ обернуть TransformedTargetRegressor или передать пользовательский метод score.

В качестве установки для моего конкретного вопроса, возьмите следующую линейную регрессию:

import numpy as np
from sklearn.linear_model import LinearRegression

X = np.arange(10).reshape(-1, 1)
y = (2 * X).ravel() + np.random.normal(size=10)

estimator = LinearRegression()
estimator.fit(X, y)
estimator.score(X, y)

Буду признателен за предложения по изменению или переносу оценки tt, приведенной ниже, чтобы получить идентичную оценку каквыше.

from sklearn.compose import TransformedTargetRegressor

ey = np.exp(y)
tt = TransformedTargetRegressor(regressor=estimator, func=np.log, inverse_func=np.exp)
tt.fit(X, ey)
tt.score(X, ey)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...