当我运行“惰性预测”脚本时,我的控制台冻结了

问题描述 投票:0回答:2

我不确定是否有人可以帮助我,所以我只是在这里尝试一下:

我尝试使用“lazypredict”包,但每当我运行它时,它都会卡在某个地方。本来我以为只是运行数据需要时间,所以我让我的电脑运行了两周。两周后仍保持相同状态吗?我尝试缩小数据大小,以便延迟预测可以完全运行,但它仍然冻结在同一个地方,我可以知道是否有办法解决这个问题?

我的控制台中只有一行,并且在相同状态下停留了 2 周:

59%|█████▊ | 17/29 [13:50:35<5:34:46, 1673.91s/it]

python spyder
2个回答
1
投票

您在这里为我们提供的信息非常少,但对于将来遇到此问题的任何其他人来说,LazyPredict 回归的普遍问题似乎是一个名为 Quantile Regressor 的单一模型,如您在 中看到的这个 GitHub PR.

为了解决这个问题,我手动删除了有问题的回归模型,如下所示,然后像往常一样使用 LazyPredict。如果您有不同的有问题的模型(例如分类器),逻辑将是相似的。

import sklearn
from lazypredict import Supervised

Supervised.removed_regressors.append("QuantileRegressor")
Supervised.REGRESSORS.remove(('QuantileRegressor', sklearn.linear_model._quantile.QuantileRegressor))
LazyRegressor = Supervised.LazyRegressor

我希望维护者尽快合并 PR 或找到该问题的替代解决方案,尽管在撰写本文时已经过去了大约 6 个月。

希望这有帮助。干杯!


0
投票

我遇到了类似的问题,但我无法弄清楚我的模型似乎遇到了哪个分类器的问题。为了调试,我列出了模型运行时使用的所有分类器:

for i in Supervised.REGRESSORS:
  print(i)

然后找到代码被破坏的模型。对于您的示例,lazypredict 在第 17 个模型 (17/29) 之前都可以正常工作,因此第 18 个模型必须被破坏。

控制台日志输出:

('AdaBoostRegressor', <class 'sklearn.ensemble._weight_boosting.AdaBoostRegressor'>)
('BaggingRegressor', <class 'sklearn.ensemble._bagging.BaggingRegressor'>)
('BayesianRidge', <class 'sklearn.linear_model._bayes.BayesianRidge'>)
('DecisionTreeRegressor', <class 'sklearn.tree._classes.DecisionTreeRegressor'>)
('DummyRegressor', <class 'sklearn.dummy.DummyRegressor'>)
('ElasticNet', <class 'sklearn.linear_model._coordinate_descent.ElasticNet'>)
('ElasticNetCV', <class 'sklearn.linear_model._coordinate_descent.ElasticNetCV'>)
('ExtraTreeRegressor', <class 'sklearn.tree._classes.ExtraTreeRegressor'>)
('ExtraTreesRegressor', <class 'sklearn.ensemble._forest.ExtraTreesRegressor'>)
('GammaRegressor', <class 'sklearn.linear_model._glm.glm.GammaRegressor'>)
('GaussianProcessRegressor', <class 'sklearn.gaussian_process._gpr.GaussianProcessRegressor'>)
('GradientBoostingRegressor', <class 'sklearn.ensemble._gb.GradientBoostingRegressor'>)
('HistGradientBoostingRegressor', <class 'sklearn.ensemble._hist_gradient_boosting.gradient_boosting.HistGradientBoostingRegressor'>)
('HuberRegressor', <class 'sklearn.linear_model._huber.HuberRegressor'>)
('KNeighborsRegressor', <class 'sklearn.neighbors._regression.KNeighborsRegressor'>)
('KernelRidge', <class 'sklearn.kernel_ridge.KernelRidge'>)
('Lars', <class 'sklearn.linear_model._least_angle.Lars'>)
**('LarsCV', <class 'sklearn.linear_model._least_angle.LarsCV'>)**
('Lasso', <class 'sklearn.linear_model._coordinate_descent.Lasso'>)
('LassoCV', <class 'sklearn.linear_model._coordinate_descent.LassoCV'>)
('LassoLars', <class 'sklearn.linear_model._least_angle.LassoLars'>)
('LassoLarsCV', <class 'sklearn.linear_model._least_angle.LassoLarsCV'>)
('LassoLarsIC', <class 'sklearn.linear_model._least_angle.LassoLarsIC'>)
('LinearRegression', <class 'sklearn.linear_model._base.LinearRegression'>)
('LinearSVR', <class 'sklearn.svm._classes.LinearSVR'>)
('MLPRegressor', <class 'sklearn.neural_network._multilayer_perceptron.MLPRegressor'>)
('NuSVR', <class 'sklearn.svm._classes.NuSVR'>)
('OrthogonalMatchingPursuit', <class 'sklearn.linear_model._omp.OrthogonalMatchingPursuit'>)
('OrthogonalMatchingPursuitCV', <class 'sklearn.linear_model._omp.OrthogonalMatchingPursuitCV'>)
('PassiveAggressiveRegressor', <class 'sklearn.linear_model._passive_aggressive.PassiveAggressiveRegressor'>)
('PoissonRegressor', <class 'sklearn.linear_model._glm.glm.PoissonRegressor'>)
('QuantileRegressor', <class 'sklearn.linear_model._quantile.QuantileRegressor'>)
('RANSACRegressor', <class 'sklearn.linear_model._ransac.RANSACRegressor'>)
('RandomForestRegressor', <class 'sklearn.ensemble._forest.RandomForestRegressor'>)
('Ridge', <class 'sklearn.linear_model._ridge.Ridge'>)
('RidgeCV', <class 'sklearn.linear_model._ridge.RidgeCV'>)
('SGDRegressor', <class 'sklearn.linear_model._stochastic_gradient.SGDRegressor'>)
('SVR', <class 'sklearn.svm._classes.SVR'>)
('TransformedTargetRegressor', <class 'sklearn.compose._target.TransformedTargetRegressor'>)
('TweedieRegressor', <class 'sklearn.linear_model._glm.glm.TweedieRegressor'>)
('XGBRegressor', <class 'xgboost.sklearn.XGBRegressor'>)
('LGBMRegressor', <class 'lightgbm.sklearn.LGBMRegressor'>)

然后我弹出该特定回归器,并将删除的回归器添加到removed_regressor数组中:

Supervised.removed_regressors.append("LarsCV")
Supervised.REGRESSORS.pop(17)

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.