我有以下课程:
Class A:
def __init__(self,df,metrics=True,data=True):
..
..
self.preprocess(df)
def preprocess(self,df):
..
..
return(df)
def train(self,df):
..
..
return(df)
def fit(self,df):
..
..
return(df)
Class B:
def __init__(self,df2):
..
..
self.preprocess(df2)
def preprocess(self,df2):
..
..
return(df2)
def train(self,df2):
..
..
return(df2)
def fit(self,df2):
..
..
return(df2)
我想构造一个C类,它接受父类A和B:
Class C (A,B):
def combine():
..
..
return()
A类和B类是两个机器学习模型,它们使用不同的算法给出了一些结果。我想使用C类包装这些类(A和B),然后将它们的结果合并为一个。
我面临的问题是,这两个类A和B具有相同的属性(但采用不同的数据帧)。现在,当我打电话给C.fit()
时,它给了我一个错误,这是因为我认为由于只适合A类的事实而被调用,因为它是先前编写的。
我想知道是否有一种方法可以使用C来为A和B调用相似的属性(A接受df,B接受df2),最后结合这些结果?
简而言之,我想要的是:当我调用C.fit()
时,我希望fit()
都在A和B中运行,并且还希望在这两个类中创建self.variables是在单独调用时创建的。