가 재현 예는 토론을 해결하기 :cv_values_는 sklearn.linear :: RidgeCV에서 어떻게 계산됩니까?
from sklearn.linear_model import RidgeCV
from sklearn.datasets import load_boston
from sklearn.preprocessing import scale
boston = scale(load_boston().data)
target = load_boston().target
import numpy as np
alphas = np.linspace(1.0,200.0, 5)
fit0 = RidgeCV(alphas=alphas, store_cv_values = True, gcv_mode='eigen').fit(boston, target)
fit0.alpha_
fit0.cv_values_[:,0]
질문 : fit0.cv_values_
을 계산하는 데 사용됩니다 어떤 공식을?
편집 :
@Abhinav 아 로라 아래 답변에 보인다는 fit0.cv_values_[:,0][0]
이 fit0.cv_values_[:,0]
의 첫 번째 항목이 데이터에 장착 fit1
알파 = 1.0 능선 회귀이다
(fit1.predict(boston[0,].reshape(1, -1)) - target[0])**2
될 것이라고 제안 - 관측치 0
이 삭제 된 세트.
보자 :
1)를 제거한 원래 데이터 세트의 첫 번째 행의 새로운 집합을 생성 :
from sklearn.linear_model import Ridge
boston1 = np.delete(boston, (0), axis=0)
target1 = np.delete(target, (0), axis=0)
2)이 절단 된 데이터 세트에 알파 = 1.0 릿지 모형을 적합 :
fit1 = Ridge(alpha=1.0).fit(boston1, target1)
3) 첫 번째 데이터 지점에서 해당 모델의 MSE를 확인하십시오.
(fit1.predict(boston[0,].reshape(1, -1)) - target[0])**2
이 무엇을 fit0.cv_values_[:,0]
, ERGO에 의해 생산되는 것과 동일하지 않습니다 array([ 37.64650853])
입니다 : 무엇 제공 37.495629960571137
fit0.cv_values_[:,0][0]
입니다
하는? Sklearn 문서에서 인용
일반적인 교차 유효성 검사와 약간 다른 일반 유효성 검사와 관련이 있다고 생각합니다. 비용 함수는 여전히 동일하지만 서로 다른 점을 다르게 계산합니다. 나를 더 자세히 살펴보고 내 대답을 업데이트 해주세요. –