繁体   English   中英

来自 scikit-learn 的 TransformedTargetRegressor 的分数是否正确?

[英]Is the score from TransformedTargetRegressor of scikit-learn correct?

我制作了一个简短的Jupyter 笔记本来回答我关于 TransformedTargetRegressor 的问题。
我想在管道中放置一个变压器来使用参数网格,但分数不匹配。

...
model = linear_model.LinearRegression()
lg_tr = preprocessing.FunctionTransformer(func=np.log, inverse_func=np.exp, check_inverse=True)
y_log = lg_tr.transform(y)
score_0 = model.fit(X, y_log).score(X, y_log)
...
model = compose.TransformedTargetRegressor(func=np.log, inverse_func=np.exp, check_inverse=True,
    regressor=linear_model.LinearRegression())
score_1 = model.fit(X, y).score(X, y)

score_0值是正确的。 为什么不是来自score_1
我对工作正常的预测没有问题,只有分数。
我错过了什么?
谢谢你=)

通常,在预测原始范围或尺度中的实际值时,您应该对模型的表现(或得分)感兴趣。 但是,这是您使用score_1不是score_0测量的score_0

score_0表示当目标变量处于对数刻度时模型的性能,这在大多数情况下不是很有用。

然而, score_1使用TransformedTargetRegressorscore方法,该方法在计算任何性能指标之前确保目标变量处于其原始规模。 因此,应根据score_1进行判断。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM