问题
用大概5万多条数据进行逻辑回归,而且是三分类问题。
Python使用逻辑回归提示 FutureWarning: Default solver will be changed to ‘lbfgs’ in 0.22。
原因
LogisticRegerssion算法的solver支持以下几个参数:
solver : 字符串,取值 {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’},默认是 ‘liblinear’.
如果数据集比较小,则 ‘liblinear’是很好的选择; 如果数据集很大,用‘sag’ and ‘saga’;
如果是多分类任务,则用 ‘newton-cg’, ‘sag’, ‘saga’ and ‘lbfgs’ ; ‘liblinear’ 只能用于二分类问题。
‘newton-cg’, ‘lbfgs’ and ‘sag’只处理 L2 范式的正则项,而 ‘liblinear’ and ‘saga’ 只处理 L1范式的正则项.
因为我的任务是大数据量,多分类问题,所以算法建议采用 ‘lbfgs’。
解决
传入参数后即可消除警告:LogisticRegression(solver=’liblinear’)
model = LogisticRegression(solver=‘lbfgs’).fit(x_train,y_train)
还有第二个警告,要用其他办法