預測誤差顯示#
- class sklearn.metrics.PredictionErrorDisplay(*, y_true, y_pred)[來源]#
迴歸模型預測誤差的可視化。
這個工具可以使用散佈圖來顯示「殘差與預測值」或「實際值與預測值」,以定性地評估迴歸器的行為,最好是在保留的資料點上進行評估。
請參閱
from_estimator
或from_predictions
的 docstring 以建立視覺化工具。所有參數均以屬性形式儲存。關於
scikit-learn
視覺化工具的一般資訊,請參閱 視覺化指南。關於解讀這些圖表的詳細資訊,請參閱 模型評估指南。於 1.2 版本新增。
- 參數:
- y_true形狀為 (n_samples,) 的 ndarray
真實值。
- y_pred形狀為 (n_samples,) 的 ndarray
預測值。
- 屬性:
- line_matplotlib Artist
代表
y_true == y_pred
的最佳線條。因此,當kind="predictions"
時,它是一條對角線;當kind="residuals"
時,它是一條水平線。- errors_lines_matplotlib Artist 或 None
殘差線。如果
with_errors=False
,則設為None
。- scatter_matplotlib Artist
散佈資料點。
- ax_matplotlib Axes
具有不同 matplotlib 軸的軸。
- figure_matplotlib Figure
包含散佈圖和線條的圖形。
另請參閱
PredictionErrorDisplay.from_estimator
根據估算器和一些資料繪製預測誤差視覺化。
PredictionErrorDisplay.from_predictions
根據真實和預測的目標繪製預測誤差視覺化。
範例
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import load_diabetes >>> from sklearn.linear_model import Ridge >>> from sklearn.metrics import PredictionErrorDisplay >>> X, y = load_diabetes(return_X_y=True) >>> ridge = Ridge().fit(X, y) >>> y_pred = ridge.predict(X) >>> display = PredictionErrorDisplay(y_true=y, y_pred=y_pred) >>> display.plot() <...> >>> plt.show()
- classmethod from_estimator(estimator, X, y, *, kind='residual_vs_predicted', subsample=1000, random_state=None, ax=None, scatter_kwargs=None, line_kwargs=None)[原始碼]#
根據回歸器和一些資料繪製預測誤差。
關於
scikit-learn
視覺化工具的一般資訊,請參閱 視覺化指南。關於解讀這些圖表的詳細資訊,請參閱 模型評估指南。於 1.2 版本新增。
- 參數:
- estimator估算器實例
已擬合的回歸器或已擬合的
Pipeline
,其中最後一個估算器是回歸器。- X形狀為 (n_samples, n_features) 的類陣列、稀疏矩陣
輸入值。
- y形狀為 (n_samples,) 的類陣列
目標值。
- kind{“actual_vs_predicted”, “residual_vs_predicted”}, default=”residual_vs_predicted”
要繪製的圖表類型
“actual_vs_predicted” 繪製觀測值(y 軸)與預測值(x 軸)。
“residual_vs_predicted” 繪製殘差,即觀測值與預測值之間的差異(y 軸)與預測值(x 軸)。
- subsamplefloat、int 或 None,預設值 = 1_000
對要顯示在散佈圖上的樣本進行抽樣。如果
float
,則應介於 0 和 1 之間,表示原始資料集的比例。如果int
,則表示散佈圖上顯示的樣本數。如果None
,則不會套用子取樣。預設情況下,將顯示 1000 個或更少的樣本。- random_stateint 或 RandomState,預設值 = None
當
subsample
不是None
時控制隨機性。詳情請參閱 詞彙表。- axmatplotlib 軸,預設值 = None
要繪製的軸物件。如果
None
,則會建立新的圖形和軸。- scatter_kwargsdict,預設值 = None
傳遞給
matplotlib.pyplot.scatter
呼叫的關鍵字字典。- line_kwargsdict,預設值 = None
傳遞給
matplotlib.pyplot.plot
呼叫以繪製最佳線條的關鍵字字典。
- 返回:
- display
PredictionErrorDisplay
儲存計算值的物件。
- display
另請參閱
預測誤差顯示 (PredictionErrorDisplay)
用於回歸的預測誤差視覺化。
PredictionErrorDisplay.from_predictions
根據真實和預測的目標繪製預測誤差視覺化。
範例
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import load_diabetes >>> from sklearn.linear_model import Ridge >>> from sklearn.metrics import PredictionErrorDisplay >>> X, y = load_diabetes(return_X_y=True) >>> ridge = Ridge().fit(X, y) >>> disp = PredictionErrorDisplay.from_estimator(ridge, X, y) >>> plt.show()
- classmethod from_predictions(y_true, y_pred, *, kind='residual_vs_predicted', subsample=1000, random_state=None, ax=None, scatter_kwargs=None, line_kwargs=None)[原始碼]#
根據真實和預測的目標繪製預測誤差。
關於
scikit-learn
視覺化工具的一般資訊,請參閱 視覺化指南。關於解讀這些圖表的詳細資訊,請參閱 模型評估指南。於 1.2 版本新增。
- 參數:
- y_true形狀為 (n_samples,) 的類陣列
真實目標值。
- y_pred形狀為 (n_samples,) 的類陣列
預測目標值。
- kind{“actual_vs_predicted”, “residual_vs_predicted”}, default=”residual_vs_predicted”
要繪製的圖表類型
“actual_vs_predicted” 繪製觀測值(y 軸)與預測值(x 軸)。
“residual_vs_predicted” 繪製殘差,即觀測值與預測值之間的差異(y 軸)與預測值(x 軸)。
- subsamplefloat、int 或 None,預設值 = 1_000
對要顯示在散佈圖上的樣本進行抽樣。如果
float
,則應介於 0 和 1 之間,表示原始資料集的比例。如果int
,則表示散佈圖上顯示的樣本數。如果None
,則不會套用子取樣。預設情況下,將顯示 1000 個或更少的樣本。- random_stateint 或 RandomState,預設值 = None
當
subsample
不是None
時控制隨機性。詳情請參閱 詞彙表。- axmatplotlib 軸,預設值 = None
要繪製的軸物件。如果
None
,則會建立新的圖形和軸。- scatter_kwargsdict,預設值 = None
傳遞給
matplotlib.pyplot.scatter
呼叫的關鍵字字典。- line_kwargsdict,預設值 = None
傳遞給
matplotlib.pyplot.plot
呼叫以繪製最佳線條的關鍵字字典。
- 返回:
- display
PredictionErrorDisplay
儲存計算值的物件。
- display
另請參閱
預測誤差顯示 (PredictionErrorDisplay)
用於回歸的預測誤差視覺化。
PredictionErrorDisplay.from_estimator
根據估算器和一些資料繪製預測誤差視覺化。
範例
>>> import matplotlib.pyplot as plt >>> from sklearn.datasets import load_diabetes >>> from sklearn.linear_model import Ridge >>> from sklearn.metrics import PredictionErrorDisplay >>> X, y = load_diabetes(return_X_y=True) >>> ridge = Ridge().fit(X, y) >>> y_pred = ridge.predict(X) >>> disp = PredictionErrorDisplay.from_predictions(y_true=y, y_pred=y_pred) >>> plt.show()
- plot(ax=None, *, kind='residual_vs_predicted', scatter_kwargs=None, line_kwargs=None)[原始碼]#
繪製視覺化圖表。
額外的關鍵字引數將會傳遞給 matplotlib 的
plot
。- 參數:
- axmatplotlib 軸,預設值 = None
要繪製的軸物件。如果
None
,則會建立新的圖形和軸。- kind{“actual_vs_predicted”, “residual_vs_predicted”}, default=”residual_vs_predicted”
要繪製的圖表類型
“actual_vs_predicted” 繪製觀測值(y 軸)與預測值(x 軸)。
“residual_vs_predicted” 繪製殘差,即觀測值與預測值之間的差異(y 軸)與預測值(x 軸)。
- scatter_kwargsdict,預設值 = None
傳遞給
matplotlib.pyplot.scatter
呼叫的關鍵字字典。- line_kwargsdict,預設值 = None
傳遞給
matplotlib.pyplot.plot
呼叫以繪製最佳線條的關鍵字字典。
- 返回:
- display
PredictionErrorDisplay
儲存計算值的物件。
- display