이 기사의 내용은 교차 검증 및 Python 코드 구현에 관한 것입니다. 특정 참조 값이 있습니다. 이제 필요한 친구가 참조할 수 있습니다.
모델 선택의 두 가지 방법(일반적인 방법) , 교차 검증.
여기에서는 교차 검증과 Python 코드 구현을 소개합니다.
교차 검증
주어진 샘플 데이터가 충분하다면 모델 선택을 위한 간단한 방법은 데이터 세트를 훈련 세트, 검증 세트, 테스트 세트의 3개 부분으로 무작위로 나누는 것입니다.
훈련 세트:모델 훈련
검증 세트:모델 선택
테스트 세트:모델의 최종 평가
다양한 복잡성의 학습 모델 선택 검증 세트에서 예측 오류가 가장 작은 모델입니다. 검증 세트에는 충분한 데이터가 있으므로 모델 선택에도 활용하는 것이 효과적입니다. 데이터가 부족한 많은 실제 응용 분야에서는 교차 검증 방법을 사용할 수 있습니다.
기본 아이디어: 데이터를 반복적으로 사용하고 주어진 데이터를 훈련 세트와 테스트 세트로 분할한 다음 이를 기반으로 훈련, 테스트 및 모델 선택을 반복적으로 수행합니다.
간단한 교차 검증:
데이터를 훈련 세트와 테스트 세트의 두 부분으로 무작위로 나눕니다. 일반적으로 데이터의 70%는 훈련 세트이고 30%는 테스트 세트입니다.
코드(분할 훈련 세트, 테스트 세트):
from sklearn.cross_validation import train_test_split # data (全部数据) labels(全部目标值) X_train 训练集(全部特征) Y_train 训练集的目标值 X_train, X_test, Y_train, Y_test = train_test_split(data,labels, test_size=0.25, random_state=0) #这里训练集75%:测试集25%
중random_state
소스 코드 설명:int, RandomState 인스턴스 또는 None, 선택 사항(기본값=None)
int, RandomState 인스턴스 또는 None, 선택 사항(기본값=None) int인 경우 random_state는 난수 생성기에서 사용되는 시드입니다.
RandomState 인스턴스인 경우 random_state는 난수 생성기입니다.
None인 경우 난수 생성기 는 `np.random`이 사용하는
RandomState 인스턴스입니다.
주요 아이디어는:random_state=10과 같은 특정 값을 설정하면 각 구분 이후의 데이터는 동일하다는 것입니다. 여러 번 실행해도 마찬가지입니다. None으로 설정하면, 즉random_state=None이면 각 Division 이후의 데이터가 달라지고 Division이 실행될 때마다 데이터가 달라집니다.
코드(훈련 세트, 검증 세트, 테스트 세트 분할):
from sklearn import cross_validation train_and_valid, test = cross_validation.train_test_split(data, test_size=0.3,random_state=0) # 先分为两部分:训练和验证 , 测试集 train, valid = cross_validation.train_test_split(data, test_size=0.5,random_state=0) # 再把训练和验证分为:训练集 ,验证集
관련 권장 사항:
위 내용은 교차 검증 및 Python 코드 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!