1. 먼저 수입 패키지
가져 XGB로 xgboost
2. 교차 검증 교육 xgboost을 달성하기 위해 다음과 같은 기능을 사용합니다.
bst_cvl = xgb.cv (xgb_params, dtrain, num_boost_round = 50,
N 배 = 3, 시드 = 0, = feval xg_eval_mae 최대화 = 거짓, early_stopping_rounds = 10)
3.cv 파라미터 : 함수 CV의 첫번째 파라미터 xgboost 트레이너 파라미터를 설정하는 것, 구체적으로는 아래 참조
xgb_params = { ' 시드 ' : 0 ' ETA ' : 0,1 , ' colsample_bytree ' 0.5 , ' 침묵 ' 1 , ' 표본 ' 0.5 , ' 목표 ' : ' 레지 리니어 ' , ' MAX_DEPTH ' : 5 , ' min_child_weight ' : 3 }
매개 변수는 다음과 같이 :
Xgboost 매개 변수
- '부스터': 'gbtree'
- '목적': '멀티 : softmax를'다중 분류 문제
- 'Num_class': 10, 범주의 수 및 multisoftmax와
- '감마': 오버 피팅에 더 크고 더 어려운 gammar, 분할 감소 얼마나 많은 피해.
- 'MAX_DEPTH': 트리의 최대 깊이. 이 값을 늘리면 합리적인 오버 피팅 3-10의 깊이에 모델이 더 복잡하고 쉬운 만들 것입니다.
- '람다'2 파라미터 L2 제어 모델 복잡도 포지티브 가중치 파라미터가 클수록, 모델을 통해 피팅에 더 어려워.
- '표본': 0.7, 훈련 샘플의 무작위 표본 추출
- 'Colsample_bytree'0.7 때 열에 걸쳐 샘플링
- 'Min_child_weight'정의 이하의 정규화 매개 변수 파티션 트리 인스턴스 무게 무게의 합이, 나무 건물 프로세스가 중지 된 경우.
- '자동'0 메시지가 실행되지 않는 출력하도록 배열은, 바람직하게는 0으로 설정된다.
- '에타': 0.007, 학습 속도 등
- '씨앗': 1000,
- 'Nthread': 7, CPU 스레드
4.cv 매개 변수 : DMatrix 얻은 다음 함수를 사용하여 dtrain 트레이닝 세트
dtrain = xgb.DMatrix (train_x, train_y)
5.cv 매개 변수 : feval 사용자 정의 매개 변수 오류 기능입니다
데프 xg_eval_mae (yhat, dtrain) : Y = dtrain.get_label () 창 ' 앞 ' , mean_absolute_error (np.exp (Y) np.exp (yhat))
6.cv 매개 변수 : 교차 검증 번호를 배, N 배, early_stopping_round 모델은 여러 번 종료 후 개선되지 않았다이다, num_boost_round 결정 나무는 번호가 추가됩니다.
제 bst_cv의 CV는 결과를 반환하다 DataFram의 일종되는 다음과 같은 조성물