model selection in sklean

cross_val_score

import numpy
from sklearn import svm, model_selection, datasets

digit = datasets.load_digits()
x = digit.data
y = digit.target

cs = numpy.logspace(-10, 0, 11)
mean_scores = []
std_scores = []
for c in cs:
    scores = model_selection.cross_val_score(svm.SVC(kernel='linear', C=c), x, y, cv=10, n_jobs=-1)
    mean_scores.append(numpy.mean(scores))
    std_scores.append(numpy.std(scores))

import matplotlib.pyplot as plt
plt.figure()
plt.semilogx(cs, mean_scores)
plt.semilogx(cs, numpy.array(mean_scores)+numpy.array(std_scores), 'b--')
plt.semilogx(cs, numpy.array(mean_scores)-numpy.array(std_scores), 'b--')
plt.xlabel('C')
plt.ylabel('score')
plt.show()
GridSearchCV
import numpy
from sklearn import svm, model_selection, datasets

digit = datasets.load_digits()
x = digit.data
y = digit.target

Cs = numpy.logspace(-10, 0, 11)
gs = model_selection.GridSearchCV(svm.SVC(kernel='linear'), dict(C=Cs), n_jobs=-1)
gs.fit(x, y)
mean_scores = gs.cv_results_['mean_train_score']
std_scores = gs.cv_results_['std_train_score']

import matplotlib.pyplot as plt
plt.figure()
plt.semilogx(Cs, mean_scores)
plt.semilogx(Cs, numpy.array(mean_scores)+numpy.array(std_scores), 'b--')
plt.semilogx(Cs, numpy.array(mean_scores)-numpy.array(std_scores), 'b--')
plt.xlabel('C')
plt.ylabel('score')
plt.plot(gs.best_estimator_.C, gs.best_score_, 'o')
plt.show()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值