Bootstrap

sklearn svm 调参_sklearn调参(验证曲线,可视化不同参数下交叉验证得分)

一 、 原始方法:

思路:

1. 参数从 0+∞ 的一个 区间 取点, 方法如: np.logspace(-10, 0, 10) , np.logspace(-6, -1, 5)

2. 循环调用cross_val_score计算得分。

在SVM不同的惩罚参数C下的模型准确率。

import matplotlib.pyplot as plt

from sklearn.model_selection import cross_val_score

import numpy as np

from sklearn import datasets, svm

digits = datasets.load_digits()

x = digits.data

y = digits.target

vsc = svm.SVC(kernel='linear')

if __name__=='__main__':

c_S = np.logspace(-10, 0, 10)#在范围内取是个对数

# print ("length", len(c_S))

scores = list()

scores_std = list()

for c in c_S:

vsc.C = c

this_scores = cross_val_score(vsc, x, y, n_jobs=4)#多线程 n_jobs,默认三次交叉验证

scores.append(np.mean(this_scores))

scores_std.

;