簡體   English   中英

如何在集成Python中使用我自己的分類器

[英]How to use my own classifier in ensemble python

主要目的是在Python集成中添加像CNN這樣的深度學習分類方法。
以下代碼可以正常工作:

   clf1=CNN()   
   eclf1=VotingClassifier(estimators=[('lr', clf1)], voting='soft')
   eclf1=eclf1.fit(XTrain,YTrain)

但是,錯誤:

'NoneType' object has no attribute 'predict_proba' 

一旦運行eclf1=eclf1.predict(XTest)

以防萬一, CNN包含用於訓練的_fit_函數和以下函數:

def predict_proba(self,XTest):    
    #prediction=np.mean(np.argmax(teY, axis=1) == predict(teX))
    teX=XTest.reshape(len(XTest),3,112,112)
    p=predict(teX) 
    i = np.zeros((p.shape[0],p.max()+1))
    for x,y in enumerate(p):
        i[x,y] = 1 
    return i  

您能否詳細說明自己的工作以及遇到的錯誤?

僅根據您的問題,我可以假定您嘗試在eclf1=eclf1.predict(XTest)行之后調用“ predic_proba”。 當然,這將導致錯誤,因為eclf1.predict(XTest)返回了一個數組,該數組沒有predict()方法。 嘗試將其更改為:

pred_results=eclf1.predict(XTest)
pred_result_probs = eclf1.predict_proba(XTest)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM