2017-10-16 5 views
1

튜닝 무게에이에서어떻게 투표 분류 (Sklearn) 나는 다음을 수행하려고

vc = VotingClassifier(estimators=[('gbc',GradientBoostingClassifier()), 
         ('rf',RandomForestClassifier()),('svc',SVC(probability=True))], 
         voting='soft',n_jobs=-1) 

params = {'weights':[[1,2,3],[2,1,3],[3,2,1]]} 
grid_Search = GridSearchCV(param_grid = params, estimator=vc) 
grid_Search.fit(X_new,y) 
print(grid_Search.best_Score_) 

, 나는 조정 매개 변수 weights을 원하는. GridSearchCV을 사용하면 많은 시간이 걸립니다. 이후 각 반복에 대한 모델에 맞게해야합니다. 어느 쪽이 필요하지는 않습니다. 더 SelectModelFrom 함수에서 사용 된 prefit과 같은 것을 사용하면 sklearn.model_selection의 기능을 사용하는 것이 좋습니다.

다른 옵션이 있습니까? 아니면 뭔가 잘못 해석하고 있습니까?

+0

GridSearchCV는 제공된 'cv'에 따라 데이터를 학습하고 테스트 한 다음 테스트 데이터에 점수를 매 깁니다. 견적을 재 입력하고 싶지 않으므로 어떤 데이터를 득점하기를 원하십니까? 기차, 테스트 또는 모든 데이터? –

+0

GridSearchCV를 실행하면 지정한 각 'weight_list'에 대한 모델이 생성됩니다. 그러나 내가 달성하고자하는 것은 내가 제공하고있는 모든 가중치에 대해 동일한 모델을 사용하는 것입니다. 'prefit'을 사용하고 싶지만 GridSeachCV에'prefit' 옵션이 없습니다 –

+0

@VivekKumar 더 나은 설명을 위해 문제 코드를 편집했습니다. 좋았어. –

답변

0

The following code (내 repo에서) 이렇게 할 수 있습니다.

클래스는 VotingClassifierCV입니다. 먼저 모든 분류 자에 대해 교차 검증 된 예측을 만듭니다. 그런 다음 모든 가중치를 반복하고 최상의 조합을 선택하고 사전 계산 된 예측을 사용합니다.

관련 문제