預測誤差顯示#

class sklearn.metrics.PredictionErrorDisplay(*, y_true, y_pred)[來源]#

迴歸模型預測誤差的可視化。

這個工具可以使用散佈圖來顯示「殘差與預測值」或「實際值與預測值」,以定性地評估迴歸器的行為,最好是在保留的資料點上進行評估。

請參閱 from_estimatorfrom_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()
../../_images/sklearn-metrics-PredictionErrorDisplay-1.png
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 呼叫以繪製最佳線條的關鍵字字典。

返回:
displayPredictionErrorDisplay

儲存計算值的物件。

另請參閱

預測誤差顯示 (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()
../../_images/sklearn-metrics-PredictionErrorDisplay-2.png
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 呼叫以繪製最佳線條的關鍵字字典。

返回:
displayPredictionErrorDisplay

儲存計算值的物件。

另請參閱

預測誤差顯示 (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()
../../_images/sklearn-metrics-PredictionErrorDisplay-3.png
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 呼叫以繪製最佳線條的關鍵字字典。

返回:
displayPredictionErrorDisplay

儲存計算值的物件。