2017-01-17 4 views
0

내가 GridSearchCV의 CV 파라미터의 효과를 이해하는 문제가 값. 조정, 예를 들어 몇 가지 매개 변수를 GridSearchCV를 사용하는 경우 나는 sklearn 0.18CV 파라미터 : 큰 CV 감소 best_score_는

파이썬 2.7에 여전히 해요 능선 회귀 분석을 통해 더 많은 데이터가 학습에 포함되므로 점수가 더 많은 수의 폴드로 올라갈 것으로 예상됩니다. 그러나 나는 반대의 행동을 관찰했다. 이것이 예상되어야하는지, 누구든지 내게 설명 할 수 있겠는가?

이 최고 점수가 작은 시료 (접기 큰 수)로 감소 다음 출력

2 0.999967723551 
7 0.999700831429 
12 0.999157506389 
17 0.998278596601 
22 0.997107931494 
27 0.995490243014 
32 0.993315835556 
37 0.990634277512 
42 0.986174197011 
47 0.982697293408 
52 0.941176694311 
57 0.844045003327 
62 0.744867073869 
67 0.646916948176 
72 0.548521372859 
77 0.451907425236 
82 0.352978995707 
87 0.256264849417 
92 0.1575027865 
97 0.058902807202 

를 생성하는 다음 예를

from __future__ import division, print_function 
from sklearn import linear_model 
from sklearn import preprocessing 
from sklearn import model_selection 
import numpy as np 

# Some example data 
X = np.ones((100, 4)) * np.arange(100).reshape((100, 1)) + (np.random.random((100, 4)) * 0.5) 
Y = np.ones((100, 1)) * np.arange(100).reshape((100, 1)) 
scalerx = preprocessing.StandardScaler() 
X_ = scalerx.fit_transform(X) 
scalerx = preprocessing.StandardScaler() 
Y_ = scalerx.fit_transform(Y) 

for cv in np.arange(2, 100, 5): 
    GS = model_selection.GridSearchCV(
     cv=cv, estimator=linear_model.Ridge(random_state=0), 
     param_grid=[{'alpha': [10e-2, 10e-1, 10e0, 10e1, 10e2]}], 
     ) 
    GS.fit(X_, Y_) 
    print(cv, GS.best_score_) 

을 고려한다.

+0

스택 오버 플로우에 오신 것을 환영합니다! 먼저 [둘러보기] (http://stackoverflow.com/tour)를 열고 [어떻게 좋은 질문을하는 법] (http://stackoverflow.com/help/how-to-ask)을 배우고 [ Minimal, Complete, Verifiable] (http://stackoverflow.com/help/mcve) 예제를 참조하십시오. 그렇게하면 우리가 당신을 도울 수 있습니다. –

+0

안녕하세요, @ stephen-rauch, 의견을 보내 주셔서 대단히 감사합니다. 나는 코드를 고쳤고 잘하면이 질문을 개선했다. – bblack222

답변

0

사용 된 데이터의 크기는 Y의 분산에 직접적인 영향을줍니다. Sklearn의 회귀 모델은 기본 점수 수식으로 R 제곱을 사용하기 때문에 중요합니다. 이자형. 평균 (y_hat - y)/var (y).

는 분산뿐만 아니라 R^제곱 값을 감소, 감소, 샘플의 수가 증가함에 따라, 사용자가 제공 한 소정의 데이터. 다른 모델은 동일한, 변환되지 않은 응답 변수 설정 동일한 데이터 맞는 경우

"은 R2가 비교 될 수있는 하나 개의 상태이다. 이어서 R2가 증가하는 식에 의해 샘플 MSE를 (감소와 동일하다. 9). 그러나이 경우 MSE를 비교할 수도 있습니다. "

Page 17 in http://www.stat.cmu.edu/~cshalizi/mreg/15/lectures/10/lecture-10.pdf

+0

안녕하세요 @rafaelvalle 및 설명 주셔서 대단히 감사합니다. 따라서 매개 변수를 튜닝하기 위해 leave-one-out 방식을 사용하는 것은 전혀 이해가되지 않는다고 생각합니다. R- 제곱 점수가 모델별로 계산되고 요약되는 방식 때문입니다. 당신은 다른 모델의 점수를 모으고 (다른 하위 집합에 훈련) R- 제곱을 계산하면 (다른 모델에서)이 상황에서 할 수있는 합리적인 판단이라고 할 수 있을까요? – bblack222

관련 문제