2017-11-14 16 views
0

私はscikit-learnを学んでいます。私はパフォーマンスがログ損失によって判断される特定のタスクのための分類子を最適化しようとしてきました。私はVotingClassifier()が私の2つのパフォーマンスの良いクラシファイアを使ってパフォーマンスを改善できるかどうかをチェックしようとしています。受付投票のクラス

ここに私のコードです:

estimators = [RandomForestClassifier(random_state=0,n_estimators=500,bootstrap=False,criterion='entropy', 
              max_depth=None,max_features='auto'), 
         LogisticRegression(solver='lbfgs',C=opt_c)] 
     vc = VotingClassifier(estimators=estimators,voting='soft',weights=[1,1]) 
     vc.fit(X_train_std,y_train.as_matrix()) 
     vcp = vc.predict_proba(X_valid_std) 
     print('Score: {}\tLog Loss: {}'.format(vc.score(X_valid_std,y_valid),log_loss(y_valid,vcp))) 

私はこのコードを実行しようとすると、しかし、私は次のエラーを取得する:なぜこれが起こっている

--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
<ipython-input-123-8cd305ba77b8> in <module>() 
----> 1 vc.fit(X_train_std,y_train.as_matrix()) 

/afs/-omited-/miniconda2/envs/iaml/lib/python2.7/site-packages/sklearn/ensemble/voting_classifier.pyc in fit(self, X, y, sample_weight) 
    170      raise ValueError('Underlying estimator \'%s\' does not' 
    171          ' support sample weights.' % name) 
--> 172   names, clfs = zip(*self.estimators) 
    173   self._validate_names(names) 
    174 

/afs/-ommited-/miniconda2/envs/iaml/lib/python2.7/site-packages/sklearn/ensemble/base.pyc in __iter__(self) 
    145  def __iter__(self): 
    146   """Returns iterator over estimators in the ensemble.""" 
--> 147   return iter(self.estimators_) 
    148 
    149 

AttributeError: 'RandomForestClassifier' object has no attribute 'estimators_' 

は、誰かがexplkainことはできますか?

答えて

0

私は間違いを理解しました。estimators属性にはタプルのリストがあります。