sklearn 교차 검증crossval_score 매개 변수 분석

2760 단어 sklearn
from sklearn.model_selection import cross_val_score
cross_val_score(estimator, 
                X, 
                y=None,
                groups=None, 
                scoring=None,
                cv=None, 
                verbose=0, 
                fit_params=None,
                pre_dispatch='2*n_jobs')

estimator: 선택한 학습기의 실례 대상, "fit"방법 포함;X:특징수 그룹 y: 탭수 그룹 그룹s: 데이터를 그룹으로 나누어 샘플링해야 할 경우scoring: 평가 함수 cv: 교차 검증된 k값, 정수 또는 None으로 입력하면 추정기는 분류기, y는 2분류 또는 다분류,StratifiedKFold로 데이터 구분fitparams: 사전, 추정기에서fit 방법의 매개 변수를 사전을 통해 전달
예제 문서:
import numpy as np
from sklearn.model_selection import cross_val_score
from sklearn import datasets
from sklearn import svm
digits = datasets.load_digits()
X = digits.data
y = digits.target
svc = svm.SVC(kernel="linear")
C_s = np.logspace(-10,0,10)
scores = []
scores_std = []
for C in C_s:
    svc.C = C
    score_lyst = cross_val_score(svc,X,y,n_jobs=-1)
    scores.append(np.mean(score_lyst))
    scores_std.append(np.std(score_lyst))

import matplotlib.pyplot as plt
plt.figure(1,figsize=(4,3))
plt.clf()
plt.semilogx(C_s,scores)
plt.semilogx(C_s,np.array(scores)+np.array(scores_std),"r--")
plt.semilogx(C_s,np.array(scores)-np.array(scores_std),"k--")
locs, labels = plt.yticks()
plt.yticks(locs, list(map(lambda x: "%g" % x, locs)))
plt.ylabel('CV score')
plt.xlabel('Parameter C')
plt.ylim(0, 1.1)
plt.show()

API 링크

좋은 웹페이지 즐겨찾기