未知变量声明

2024-04-26 10:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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”数据类型是不同的。我知道每个参数的描述以及它们在其他算法中使用的原因,但我无法理解此声明背后的原因。对于这个实现的任何解释都是非常感谢的。谢谢您。在


Tags: 代码from模型alpha算法声明l1参数
1条回答
网友
1楼 · 发布于 2024-04-26 10:26:56

我认为使用这种声明的一种方法是使代码更模块化。像这样:

def get_clf(clf_type,loss,penalty):
    my_clf = clf_type
    my_clf.loss = loss
    my_clf.penalty = penalty
    return my_clf

现在可以将它作为一个泛型函数来处理,以使代码更加模块化。因此,无论何时需要创建分类器,都可以调用:

^{pr2}$

所以即使你改变你的回归,你只需要改变上面的一行。同样,这是关于个人风格的编程和如何习惯它。有些人喜欢在定义本身中声明参数,而有些人则明确地喜欢在您的问题中声明参数。在

相关问题 更多 >