绘制验证曲线#
在这个图中,您可以看到 SVM 在内核参数 gamma 的不同值下的训练得分和验证得分。对于非常小的 gamma 值,您可以看到训练得分和验证得分都很低。这被称为欠拟合。中等 gamma 值将导致两个得分都较高,即分类器表现良好。如果 gamma 太高,分类器将过拟合,这意味着训练得分很好,但验证得分很差。
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_digits
from sklearn.model_selection import ValidationCurveDisplay
from sklearn.svm import SVC
X, y = load_digits(return_X_y=True)
subset_mask = np.isin(y, [1, 2]) # binary classification: 1 vs 2
X, y = X[subset_mask], y[subset_mask]
disp = ValidationCurveDisplay.from_estimator(
SVC(),
X,
y,
param_name="gamma",
param_range=np.logspace(-6, -1, 5),
score_type="both",
n_jobs=2,
score_name="Accuracy",
)
disp.ax_.set_title("Validation Curve for SVM with an RBF kernel")
disp.ax_.set_xlabel(r"gamma (inverse radius of the RBF kernel)")
disp.ax_.set_ylim(0.0, 1.1)
plt.show()
脚本的总运行时间:(0 分钟 0.662 秒)
相关示例
RBF SVM 参数
在 iris 数据集上绘制不同的 SVM 分类器
IsolationForest 示例
使用不同的 SVM 核绘制分类边界