我正在使用Python创建一个模型,对数据集进行逻辑回归。这是我的代码:
from sklearn import linear_modelmy_classifier2=linear_model.LogisticRegression(solver='lbfgs',max_iter=10000)
根据Sklearn文档页面,max_iter是求解器收敛所需的最大迭代次数。我如何明确指定需要’N’次迭代呢?
任何形式的帮助都将非常感激。
回答:
我不确定,但您是想知道模型的最佳迭代次数吗?如果是这样,使用GridSearchCV
会更好,它可以调整像max_iter
这样的超参数。简而言之,
- 将您的数据分为两组:训练/测试数据,可以使用从sklearn导入的
train_test_split
或KFold
- 设置您的参数,例如
para=[{'max_iter':[1,10,100,1000]}]
- 实例化,例如
clf=GridSearchCV(LogisticRegression, param_grid=para, cv=5, scoring='r2')
- 使用训练数据实施,例如
clf.fit(x_train, y_train)
您还可以使用RandomizedSearchCV
或BayesianOptimization
来获取最佳迭代次数。