5个PyCaret的常见误解
文章插图
PyCaretPyCaret是Python中的一个开源、低代码的机器学习库 , 它自动化了机器学习工作流 。 它是一个端到端的机器学习和模型管理工具 , 可以加快机器学习实验的周期 , 并使你更有效率 。
与其他开放源代码机器学习库相比 , PyCaret是一个低代码库 , 可以用很少的代码来替换数百行代码 。 这使得实验具有指数级的速度和效率开发 。
- 官方:
- 文档:
- git:
这种行为后来在版本2.0中进行了更改 。 compare_models现在根据n_select参数返回最佳模型 , 该参数默认设置为1 , 这意味着它将返回最佳模型(默认情况下) 。
文章插图
通过将默认的n_select参数更改为3 , 可以获得前3个模型的列表 。 例如:
文章插图
返回的对象是经过训练的模型 , 实际上不需要再次调用create_model来训练它们 。 如果你愿意 , 你可以使用这些模型来生成诊断图 , 甚至可以将它们用于预测 。 例如:
文章插图
你认为你只限于scikit-learn模型我们收到很多请求 , 要求在模型库中包含非scikit-learn模型 。 很多人没有意识到你不仅仅局限于默认模型 。 create_model函数除了接受模型库中可用的模型ID之外 , 还接受未经训练的模型对象 。
只要你的对象与scikit learn-fit/predict-API兼容 , 它就可以正常工作 。 例如 , 我们只需导入未经训练的NGBClassifier , 就可以从ngboost库中训练和评估NGBClassifier :
文章插图
【5个PyCaret的常见误解】你也可以把未经训练的模型传递到compare_models 的include参数中 , 这样它就可以正常工作了 。
文章插图
注意 , 包含的参数包括模型库中三个未训练模型的ID , 即Logistic回归、决策树和K近邻 , 以及ngboost库中的一个未训练对象 。 另外 , 请注意 , 索引表示在include参数中输入的模型的位置 。
你不知道的pullPyCaret中的所有训练函数(create_model、tune_model、ensembly_model等)都会显示一个分数网格 , 但不会返回分数网格 。 因此 , 你不能将分数网格存储在DataFrame. 但是 , 有一个名为pull的函数允许你这样做 。 例如:
文章插图
当你使用predict_model函数时 , 这也适用于保存分数网格 。
文章插图
现在你可以像pandas一样访问度量了 。 例如 , 你可以创建一个循环来训练具有不同参数的模型 , 并使用以下简单代码创建一个比较表:
文章插图
你认为PyCaret是个黑匣子 , 其实不然 。 另一个常见的困惑是 , 所有的预处理都是在幕后进行的 , 用户无法访问 。 因此 , 你无法审核运行设置函数时发生的情况 。 这不是真的 。
PyCaret get_config和set_config中有两个函数 , 允许你访问和更改后台的所有内容 , 从训练集到模型的随机状态 。 只需调用help(get_config)即可查看get_config函数的文档 , 查看哪些变量可供你访问:
文章插图
你可以通过在get_config函数中调用它来访问该变量 。 例如 , 要访问X_train 转换后的数据集 , 请编写以下内容:
文章插图
你可以使用set_config函数更改环境变量 。 根据你目前对pull、get_config和set_config函数的了解 , 你可以创建一些非常复杂的工作流 。 例如 , 可以对保留集重新采样N次 , 以评估平均性能指标 , 而不是依赖于一个保留集:
import numpy as npXtest = get_config('X_test')ytest = get_config('y_test')AUC = []for i in np.random.randint(0,1000,size=10):Xtest_sampled = Xtest.sample(n = 100, random_state = i)ytest_sampled = ytest[Xtest_sampled.index]set_config('X_test', Xtest_sampled)set_config('y_test', ytest_sampled)predict_model(dt);AUC.append(pull()['AUC'][0])>>> print(AUC)[Output]: [0.8182, 0.7483, 0.7812, 0.7887, 0.7799, 0.7967, 0.7812, 0.7209, 0.7958, 0.7404]>>> print(np.array(AUC).mean())[Output]: 0.77513
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 行业|现在行业内客服托管费用是怎么算的
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 美国|英国媒体惊叹:165个国家采用北斗将GPS替代,连美国也不例外?
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 技术|做“视频”绿厂是专业的,这项技术获人民日报评论点赞
- 面临|“熟悉的陌生人”不该被边缘化
- 中国|浅谈5G移动通信技术的前世和今生
- 页面|如何简单、快速制作流程图?上班族的画图技巧get