我正在尝试用超参数值数组构建逻辑回归模型,例如:
lambdas =[0.001, 0.01, 0.05, 0.1, 1]。, 100年版。)
但是,除非c = 1,否则模型不会收敛。下面是我的代码:
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2,random_state=42)
lambdas = [0.001, 0.01, 0.05, 0.1, 1., 100.]
RidgeCV = LogisticRegressionCV(Cs = lambdas,penalty ="l2",cv=10,solver="saga",max_iter=1000)
RidgeCV.fit(X_train, y_train)
有人知道怎么解决这个问题吗?
我试图改变求解器,增加max_iter,改变交叉验证量。数据的不同缩放。在应用标准缩放器之前,数据如下所示:
Cs = 1
意味着您有C
作为0.0001
。看到https://github.com/scikit-learn/scikit-learn/blob/98cf537f5c538fdbc9d27b851cf03ce7611b8a48/sklearn/linear_model/_logistic.py L266
看起来你的数据需要更强的正则化。您可以尝试网格搜索更低的lambda,例如[0.0001, 0.00001, 0.000001]
。