[英]Is it possible to add TransformedTargetRegressor into a scikit-learn pipeline?
[英]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
使用TransformedTargetRegressor
的score
方法,該方法在計算任何性能指標之前確保目標變量處於其原始規模。 因此,應根據score_1
進行判斷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.