[S2] Challenge 25 心脏病预测

问题

您是一家医疗保健公司的数据科学家,试图创建患者是否患有心脏病的预测因子。目前,您正在试验 11 种不同的特征(潜在心脏病指标)和 XGBoost 分类模型,您注意到它的性能可能会根据其调整方式而发生很大变化。在此挑战中,您将实现超参数调整,以找到 XGBoost 的 Boosting Rounds 数、最大树深度和学习率超参数的最佳值。使用公制 F-Measure 作为调整的目标函数。

尝试 KNIME AI Assistant

我在这次挑战中尝试使用了2023年9月14日发布的KNIME Analytics Platform 5.1.1,并尝试了一下 5.1 中引入的新扩展,KNIME AI Assistant。

这个扩展分为两个主要功能,一个是QA,另一个是Build。QA部分类似于ChatGPT中的问答部分,你可以通过对话的方式询问问题。而Build部分允许你描述你想要完成的工作,然后该插件会为你构建相应的工作流。这个扩展似乎是在今年4、5月份提出的,只是一个非常初步的插件,所以不应对其期望过高。但是,通过这个插件,我们可以窥见未来。

[S2] Challenge 25 心脏病预测_第1张图片

在准备好数据之后,我直接使用了Build功能。

以下是我对问题进行的简单描述:

use the current csv reader's data, help me to implement hyperparameter tuning to find the best values for XGBoost's Number of Boosting Rounds, Max Tree Depth, and learning rate hyperparameters. Use metric F-Measure as the objective function for tuning

在简要描述问题之后,它开始构建工作流。在添加了两个节点之后,它遇到了一些问题并停止工作。我注意到节点也不对。

[S2] Challenge 25 心脏病预测_第2张图片

我再试一次,这次我调整了描述如下:

use the current csv reader's data

  1. partition the data
  2. use hyperparameter tuning node, focusing on "Number of Boosting Rounds, Max Tree Depth, and learning rate", then send the variables to XGBoost node, and get the score
  3. find the best hyperparameters

遗憾的是,仍然没有成功。但值得注意的是,它对SVM 节点增加了相对详细的注释。

[S2] Challenge 25 心脏病预测_第3张图片

我只好自己动手了。突然我发现,其实我还没有安装需要的xgboost等扩展... 难道是因为没有安装扩展导致AI Assistant效果不佳?安装扩展之后,我发现可能是 KNIME 选择的 AI 模型有点弱鸡...

最终,我只能自己解决这个问题。这个问题相对简单,只要了解流变量和Parameter Optimization Loop 节点的使用,就没有什么好说的了。

[S2] Challenge 25 心脏病预测_第4张图片

其他想法

  • 每次我重新启动KNIME都需要登录"KNIME AI Assistant",这有点烦人。
  • OpenAI已经提供了自定义数据的训练,我预计KNIME AI在不久的将来会变得更好。
  • 对于KNIME文档来说,使用一个不那么强大的LLMs模型并利用RAG来检索答案可能会有益处。
  • 如果有人想要使用更高级的模型,比如GPT4,允许用户输入自己的密钥并承担相关费用,可以增强该扩展的功能。
  • QA界面不太理想,聊天界面并不是最好的一种AI使用形式,需要进一步改进。

总之,未来充满了希望。

本文由 mdnice 多平台发布

你可能感兴趣的:(程序人生)