【发布时间】:2015-09-20 15:42:26
【问题描述】:
我想创建自己的小型神经网络估计器。我正在尝试遵循here 中提到的约定,但我有一些问题。
假设我的班级是这样的
现在,我希望用户指定num_layers 和n_epochs。
class NN(BaseEstimator, ClassifierMixin):
def __init__(self, num_layers=[10, 5], n_epochs=10):
self.num_layers = num_layers
self.n_epochs = n_epochs
我是否正确理解我不应该在__init__() 中设置网络架构?我有相当多的代码可以做到这一点,真的都应该放在fit() 中吗?我认为这段代码的自然位置是__init__()...
我还希望对变量名末尾的下划线进行一些澄清。我认为,例如,每一层中的权重应该被强调,但是那些没有真正估计任何东西的额外辅助变量呢? scikit 是否真的关心下划线,或者这纯粹是为了便于阅读的约定?
另外,如果我不提供score() 函数但我提供了predict(),如何计算分数?
【问题讨论】:
标签: python scikit-learn