0
点赞
收藏
分享

微信扫一扫

validation_curve检视过拟合

巧乐兹_d41f 2022-01-09 阅读 19
from sklearn.model_selection import validation_curve
from sklearn.datasets import load_digits
from sklearn.svm import SVC
import matplotlib.pyplot as plt
import numpy as np

digits = load_digits()
x = digits.data
y = digits.target

# 建立参数集
param_range = np.logspace(-6, -2.3, 5)

# 使用validation_curve快速找出参数对模型的影响
train_loss, test_loss = validation_curve(
    SVC(), x, y, param_name='gamma', param_range=param_range,
    cv=10, scoring="neg_mean_squared_error"
)
# 平均每一轮的平均方差
train_loss_mean = -np.mean(train_loss, axis=1)
test_loss_mean = -np.mean(test_loss, axis=1)

# 可视化图形
plt.plot(param_range, train_loss_mean, 'o-', color='r', label="Training")
plt.plot(param_range, test_loss_mean, 'g-', color='g', label="Cross-validation")
plt.xlabel("gamma")
plt.ylabel("Loss")
plt.legend(loc="best")
plt.show()

举报

相关推荐

0 条评论