我在kaggle中读了一些代码,但遇到了一个模糊的实现。直到今天,我还不知道我们可以为一个模型声明一个变量。在
from sklearn.linear_model import LogisticRegression
...
model = LogisticRegression()
....
model.loss = 0.01
model.penalty = 'l1'
model.l1_ratio = True
model.alpha = 'auto'
model.fit(x_train, y_train)
我知道sklearn中的logistic回归除了惩罚之外没有任何其他参数,我在sklearn中发现了另一个线性算法sgdclassizer,它实际上接受所有这些参数,但对于“损失”、“l1”和“alpha”数据类型是不同的。我知道每个参数的描述以及它们在其他算法中使用的原因,但我无法理解此声明背后的原因。对于这个实现的任何解释都是非常感谢的。谢谢您。在
我认为使用这种声明的一种方法是使代码更模块化。像这样:
现在可以将它作为一个泛型函数来处理,以使代码更加模块化。因此,无论何时需要创建分类器,都可以调用:
^{pr2}$所以即使你改变你的回归,你只需要改变上面的一行。同样,这是关于个人风格的编程和如何习惯它。有些人喜欢在定义本身中声明参数,而有些人则明确地喜欢在您的问题中声明参数。在
相关问题 更多 >
编程相关推荐