机器学习常见异常和解决办法汇总

简介: scikit-learn是一个Python机器学习库,提供了很多基础的模型和算法。

1.sklearn库的LogisticRegression模型训练时警告lbfgs failed to converge (status=1)

scikit-learn是一个Python机器学习库,提供了很多基础的模型和算法。在使用LogisticRegression逻辑斯蒂回归模型时,可能会出现警告信息如下:

ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
Increase the number of iterations (max_iter) or scale the data as shown in:
    https://scikit-learn.org/stable/modules/preprocessing.html
Please also refer to the documentation for alternative solver options:
    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
  n_iter_i = _check_optimize_result(

分析:

从警告信息中可以看到,是迭代次数ITERATIONS超过了限制,LogisticRegression的max_iter参数的默认值为100,数据量超过了限制。

解决办法:

只需要在初始化模型的时候给max_iter参数指定一个较大的值就不会超过限制,例如max_iter=10000就不会再出现警告信息。

2.sklearn库的LogisticRegression模型使用L1正则报错

使用sklearn库的LogisticRegression模型时可以指定惩罚项,即正则项,在使用L1正则时会报错,例如

LogisticRegression(fit_intercept=True, C=0.1, penalty='l1')

报错如下:

File "XXX\lib\site-packages\sklearn\linear_model\_logistic.py", line 447, in _check_solver
    raise ValueError(
ValueError: Solver lbfgs supports only 'l2' or 'none' penalties, got l1 penalty.

分析:

可以看到,这是因为在新版的sklearn库中,lbfgs分类器只支持l2惩罚项或者不要惩罚项,要使用L1正则项,则需要使用liblinear分类器,同时dual必须是False。

解决办法:

在设置惩罚项参数的同时,设置分类器为liblinear即可,例如

clf = LogisticRegression(fit_intercept=True, C=0.1, penalty='l1', solver='liblinear')


相关文章
|
4月前
|
数据采集 机器学习/深度学习 算法
【机器学习】数据清洗之处理异常点
【机器学习】数据清洗之处理异常点
144 1
|
12月前
|
数据采集 机器学习/深度学习 数据挖掘
【机器学习4】构建良好的训练数据集——数据预处理(一)处理缺失值及异常值
【机器学习4】构建良好的训练数据集——数据预处理(一)处理缺失值及异常值
400 0
|
4月前
|
数据采集 机器学习/深度学习 算法
【机器学习】数据清洗之识别异常点
【机器学习】数据清洗之识别异常点
260 1
|
机器学习/深度学习 数据采集 人工智能
时间序列异常检测:统计和机器学习方法介绍
在本文中将探索各种方法来揭示时间序列数据中的异常模式和异常值。
281 0
|
机器学习/深度学习 Python
Python 异常值处理 箱线图、3σ原则 (机器学习)
Python 异常值处理 箱线图、3σ原则 (机器学习)
441 0
Python 异常值处理 箱线图、3σ原则 (机器学习)
|
机器学习/深度学习 SQL 人工智能
PAI Designer Python脚本V2组件使用异常临时解决方案
PAI Designer(Studio 2.0)是基于云原生架构Pipeline Service(PAIFlow)的可视化建模工具, 提供可视化的机器学习开发环境,实现低门槛开发人工智能服务。同时,系统提供丰富且成熟的机器学习算法,覆盖商品推荐、金融风控及广告预测等场景,可以满足您不同方向的业务需求。PAI-Designer提供了自定义Python脚本的功能,您可以使用该组件运行自定义的Python函数,并且支持自定义安装依赖包。但是由于版本的更新Python脚本V2组件目前还有一些bug需要修复。本文为您演示使用Python脚本V2组件常见的一个异常及临时的处理方案,以供参考。
596 0
PAI Designer Python脚本V2组件使用异常临时解决方案
|
机器学习/深度学习 运维 监控
SLS机器学习最佳实战:日志聚类+异常告警
围绕日志,挖掘其中更大价值,一直是我们团队所关注。在原有日志实时查询基础上,今年SLS在DevOps领域完善了如下功能: - 上下文查询 - 实时Tail和智能聚类,以提高问题调查效率 - 提供多种时序数据的异常检测和预测函数,来做更智能的检查和预测 - 数据分析的结果可视化 - 强大的告...
12902 0
|
24天前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
1天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
27 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面