为什么此代码显示属性错误?

why this code is showing attribute error?

代码

def __init__(self, x, y, testx, testy, validx, validy, \
                eta, beta, sigma, eps, \
                mproc, \
                trainfile, resfile, \
                objective, opty, colmap):
        """
        LinRegGDPoisoner implements computations for ordinary least
        squares regression. Computations involving regularization are
        handled in the respective children classes

        for input description, see GDPoisoner.__init__
        """

        GDPoisoner.__init__(self, xx, yy, testx, testy, validx, validy, \
                            eta, beta, sigma, eps, mproc, \
                            trainfile, resfile, \
                            objective, opty, colmap)
        self.initclf, self.initlam = self.learn_model(self.x,self.y,None)

低于错误

Traceback (most recent call last):
  File "poison.py", line 540, in <module>
    main(args)
  File "poison.py", line 455, in main
    trainfile,resfile,args.objective,args.optimizey, colmap)
  File "/content/drive/My Drive/Colab Notebooks/Poisoning regression/manip-ml-master/poisoning/gd_poisoners.py", line 674, in __init__
    self.initclf, self.initlam = self.learn_model(self.x,self.y,None)
AttributeError: 'LinRegGDPoisoner' object has no attribute 'x'

只需定义该值。您需要以相同的方式定义 y。:

def __init__(self, x, y, testx, testy, validx, validy, \
                eta, beta, sigma, eps, \
                mproc, \
                trainfile, resfile, \
                objective, opty, colmap):
        """
        LinRegGDPoisoner implements computations for ordinary least
        squares regression. Computations involving regularization are
        handled in the respective children classes

        for input description, see GDPoisoner.__init__
        """
        self.x = s
        self.y = y

        GDPoisoner.__init__(self, xx, yy, testx, testy, validx, validy, \
                            eta, beta, sigma, eps, mproc, \
                            trainfile, resfile, \
                            objective, opty, colmap)
        self.initclf, self.initlam = self.learn_model(self.x,self.y,None)

我假设您也希望对希望传递给 __init__() 函数的其余变量执行相同的操作。您的函数定义中有很多。