机器学习模型集成——报错

问题遇到的现象和发生背景

kaggle机器学习模型集成中的报错

问题相关代码,请勿粘贴截图

#模型集成
class AverageWeight(BaseEstimator, RegressorMixin):
def init(self,mod,weight):
self.mod = mod
self.weight = weight

def fit(self,X,y):
    self.models_ = [clone(x) for x in self.mod]
    for model in self.models_:
        model.fit(X,y)
    return self

def predict(self,X):
    w = list()
    pred = np.array([model.predict(X) for model in self.models_])
    for data in range(pred.shape[1]):
        single = [pred[model,data]*weight for model,weight in zip(range(pred.shape[0]),self.weight)]
        w.append(np.sum(single))
    return w

#给不同的模型赋予权重
weight_avg = AverageWeight(mod = [lasso,ridge,svr,elasticNet,KRR],weight=[0.07,0.24,0.29,0.06,0.34])

#输出预测结果
pred = weight_avg.predict(test_X_scaled)
pred = np.expm1(pred)

运行结果及报错内容

AttributeError: 'AverageWeight' object has no attribute 'models_'

我想要达到的结果

如何解决这个报错,并输出结果

AverageWeight' 对象没有属性 'models_'