当前位置: 首页 > news >正文

关于自动机器学习flaml训练时的一些报错

一、版本背景

flaml == 1.1.3

sciket-learn == 0.23.0

二、一路报错

2.1、SyntaxError: future feature annotations is not defined

Traceback (most recent call last):File "C:/Users/dell/Desktop/AI/run.py", line 151, in <module>model.autoMlArgs(queryDf,target)File "C:/Users/dell/Desktop/AI/run.py", line 61, in autoMlArgsfrom flaml import AutoMLFile "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\__init__.py", line 2, in <module>from flaml.automl import AutoML, logger_formatterFile "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl\__init__.py", line 1, in <module>from flaml.automl.automl import AutoML, AutoMLState, SearchState, logger_formatter, sizeFile "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl\automl.py", line 5from __future__ import annotations^
SyntaxError: future feature annotations is not defined

2.2、解决SyntaxError: future feature annotations is not defined

进入到flaml的automl下的automl.py文件。找到from __future__ import annotations,注释即可(网上搜索这一行代码是需要升级python版本到3.7才能正常执行)

2.3、ImportError: cannot import name 'StratifiedGroupKFold'

Traceback (most recent call last):File "C:/Users/dell/Desktop/AI/run.py", line 151, in <module>model.autoMlArgs(queryDf,target)File "C:/Users/dell/Desktop/AI/run.py", line 61, in autoMlArgsfrom flaml import AutoMLFile "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\__init__.py", line 2, in <module>from flaml.automl import AutoML, logger_formatterFile "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl\__init__.py", line 1, in <module>from flaml.automl.automl import AutoML, AutoMLState, SearchState, logger_formatter, sizeFile "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl\automl.py", line 14, in <module>from sklearn.model_selection import (
ImportError: cannot import name 'StratifiedGroupKFold'

2.4、解决ImportError: cannot import name 'StratifiedGroupKFold'

原因是flaml版本太高了,卸载重装flaml为0.10.0即可

pip install flaml==0.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

2.5、xgboost.core.XGBoostError: C:/Users/xxx/learner.cc:567: Check failed:mparam_.num_feature != 0 (0 vs. 0) : 0 feature is supplied. Are you using raw Booster interface?

Traceback (most recent call last):File "C:/Users/dell/Desktop/AI/run.py", line 65, in <module>autoMl.fit(queryDf, target.values, **settings)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl.py", line 2275, in fitself._search()File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl.py", line 2771, in _searchself._search_sequential()File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl.py", line 2594, in _search_sequentialuse_ray=False,File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\tune\tune.py", line 452, in runresult = evaluation_function(trial_to_run.config)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\automl.py", line 280, in _compute_with_config_basestate.fit_kwargs,File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\ml.py", line 592, in compute_estimatorfit_kwargs=fit_kwargs,File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\ml.py", line 501, in evaluate_model_CVfit_kwargs=fit_kwargs,File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\ml.py", line 400, in get_val_lossestimator.fit(X_train, y_train, budget, **fit_kwargs)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\model.py", line 1201, in fitreturn super().fit(X_train, y_train, budget, **kwargs)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\model.py", line 972, in fit**kwargs,File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\flaml\model.py", line 152, in _fitmodel.fit(X_train, y_train, **kwargs)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\xgboost\core.py", line 422, in inner_freturn f(**kwargs)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\xgboost\sklearn.py", line 915, in fitcallbacks=callbacks)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\xgboost\training.py", line 235, in trainearly_stopping_rounds=early_stopping_rounds)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\xgboost\training.py", line 102, in _train_internalbst.update(dtrain, i, obj)File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\xgboost\core.py", line 1282, in updatedtrain.handle))File "C:\Users\dell\Anaconda3\envs\modelEnv\lib\site-packages\xgboost\core.py", line 189, in _check_callraise XGBoostError(py_str(_LIB.XGBGetLastError()))
xgboost.core.XGBoostError: [14:26:20] C:/Users/Administrator/workspace/xgboost-win64_release_1.3.0/src/learner.cc:567: Check failed: mparam_.num_feature != 0 (0 vs. 0) : 0 feature is supplied.  Are you using raw Booster interface?

1)、可能是特征数过少?直接在fit的 estimator_list 里指定训练模型的范围,不勾选xgboost即可。

2)、修改传入fit里的x和y的类型。我之前是直接传的dataframe,改为dataframe.values即可。(暂时不太理解)

三、总结

暂时先写这么多问题,后续如果有新的问题会更新本文章。

http://www.lryc.cn/news/42451.html

相关文章:

  • 【计算机视觉】消融实验(Ablation Study)是什么?
  • Java毕业论文参考文献参考例子整理
  • C++ Primer第五版_第六章习题答案(21~30)
  • SLAM算法之HectorSLAM,Gmapping,KartoSLAM,CoreSLAM和LagoSLAM
  • phpstorm断点调试
  • 做一个前端网页送给女朋友~轮播图+纪念日
  • CSDN 编程竞赛三十九期题解
  • ChatGPT来了你慌了吗?
  • Dijkstra 算法
  • EIgamal 算法实现与解读
  • 静态通讯录动态通讯录制作详解
  • 2023最新最详细【接口测试总结】
  • 【java基础】Stream流的各种操作
  • 【Python练习】序列结构
  • CDN加速缓存的定义与作用
  • Java并发高频面试题
  • CVPR 2023 | 旷视研究院入选论文亮点解读
  • Vue3 学习总结补充(一)
  • 使用ChatGPT 开放的 API 接口可以开发哪些自研工具?
  • I2C和SPI总线以及通信
  • Spring八股文
  • 20 k8sMetric 简介
  • 面试问了解Linux内存管理吗?10张图给你安排的明明白白
  • 【C++】内联函数inline
  • C++演讲比赛流程管理系统_黑马
  • 谈谈低代码的安全问题,一文全给你解决喽
  • [数据结构]二叉树OJ(leetcode)
  • flutter 输入时插入分隔符
  • 静态版通讯录——“C”
  • 前端基础开发环境搭建工具等