模板方法模式
:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。因此模板方法使得子类可以在不改变一个算法的结构的情况下重新定义该算法的某些特定变量。
类图:
优点:把不变行为搬移到超类,去除子类中的重复代码。
应用特性:重复做相同逻辑的事情,但是具体细节不同的场景
结构特性:相同逻辑抽取至父类,具体细节留置子类。可以说是对逻辑的抽象
类图:
贴上我自己的代码:
class predict:
y_pred = []
def linpredict(self):
y_pred = linreg.predict(X_test)#注:对于红酒数据,线性回归还是使用非归一化的数据,结果表现更好
return y_pred
def plspredict(self):
y_pred = plsreg.predict(X_test_scaled)#PLS使用归一化的数据,结果要更准确
return y_pred
def plscpredict(self):
y_pred_scaled = plscreg.predict(X_test_scaled)
return y_pred_scaled