svm中gamma的确定

来源:互联网 发布:ratpack java 编辑:程序博客网 时间:2024/05/16 17:53
from __future__ import print_functionfrom sklearn.learning_curve import  validation_curvefrom sklearn.datasets import load_digitsfrom sklearn.svm import SVCimport matplotlib.pyplot as pltimport numpy as npdigits = load_digits()X = digits.datay = digits.target# np.logspace(-6, -2.3, 5)的值为[1.00000000e-06  8.41395142e-06  7.07945784e-05  5.95662144e-04 5.01187234e-03]param_range = np.logspace(-6, -2.3, 5)train_loss, test_loss = validation_curve(        SVC(), X, y, param_name='gamma', param_range=param_range, cv=10,        scoring='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, 'o-', color="g",             label="Cross-validation")plt.xlabel("gamma")plt.ylabel("Loss")plt.legend(loc="best")

plt.show()

如图所示gamma取0.006效果最好

0 0
原创粉丝点击