簡體   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