首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何计算h2o中的均方根对数误差?

在h2o中计算均方根对数误差(Root Mean Squared Logarithmic Error,RMSLE)的步骤如下:

  1. 导入必要的库和模块:import h2o from h2o.estimators import H2OGradientBoostingEstimator from h2o.grid.grid_search import H2OGridSearch from math import sqrt, log1p
  2. 初始化h2o集群:h2o.init()
  3. 加载数据集:train_data = h2o.import_file("train.csv") test_data = h2o.import_file("test.csv")
  4. 对目标变量进行对数转换:train_data["target"] = train_data["target"].log1p()
  5. 划分数据集为训练集和验证集:train, valid = train_data.split_frame(ratios=[0.8], seed=123)
  6. 定义并训练模型:model = H2OGradientBoostingEstimator() model.train(x=train.columns[1:], y="target", training_frame=train, validation_frame=valid)
  7. 预测验证集结果:predictions = model.predict(valid)
  8. 计算均方根对数误差:def rmsle(actual, predicted): squared_log_errors = ((log1p(actual) - log1p(predicted)) ** 2).sum() mean_squared_log_error = squared_log_errors / len(actual) return sqrt(mean_squared_log_error)

rmsle_score = rmsle(valid"target".expm1(), predictions.expm1())

代码语言:txt
复制

以上步骤中,我们首先导入了必要的库和模块,然后初始化h2o集群并加载数据集。接下来,我们对目标变量进行对数转换,然后将数据集划分为训练集和验证集。然后,我们定义并训练了一个梯度提升模型,并使用该模型对验证集进行预测。最后,我们定义了一个计算均方根对数误差的函数,并将预测结果和验证集的目标变量应用于该函数,得到最终的均方根对数误差分数。

请注意,以上代码示例中的文件路径和列名可能需要根据实际情况进行修改。此外,这只是一个示例,实际应用中可能需要根据具体需求进行调整和优化。

关于h2o和相关产品的更多信息,您可以访问腾讯云的官方文档和产品介绍页面:

请注意,本回答仅提供了使用h2o计算均方根对数误差的示例方法,不涉及其他云计算品牌商的相关产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 每日论文速递 | GEAR:高效 KV Cache 压缩框架

    摘要:键值(KV)缓存已成为加快大语言模型(LLM)推理生成速度的事实。然而,随着序列长度的增加,缓存需求也在不断增长,这使得 LLM 推理变成了一个内存约束问题,极大地限制了系统的吞吐量。现有的方法依赖于放弃不重要的标记或均匀量化所有条目。然而,这些方法在表示压缩矩阵时往往会产生较高的近似误差。自回归解码过程进一步加剧了每一步的误差,导致模型生成出现严重偏差,性能下降。为了应对这一挑战,我们提出了一种高效的 KV 缓存压缩框架--GEAR,它能实现近乎无损的高比率压缩。GEAR 首先对大部分大小相似的条目进行超低精度量化。然后,它采用低秩矩阵来近似量化误差,并采用稀疏矩阵来弥补离群条目的个别误差。通过巧妙地整合三种技术,GEAR 能够充分发挥它们的协同潜力。我们的实验证明,与其他技术相比,GEAR 实现了近乎无损的 4 位 KV 高速缓存压缩,吞吐量提高了 2.38 倍,同时内存峰值大小减少了 2.29 倍。

    01

    h2oGPT——具备文档和图像问答功能且100%私密且可商用的大模型

    这里直接选用h2oGPT的论文摘要部分:建立在大型语言模型 (LLM) 之上的应用程序,如 GPT-4,由于其在自然语言处理方面的人类水平的能力,代表着人工智能的一场革命。然而,它们也带来了许多重大风险,例如存在有偏见的、私人的或有害的文本,以及未经授权包含受版权保护的材料。我们介绍了 h2oGPT,这是一套开放源代码的代码库,用于基于生成性预训练transformer (GPT) 创建和使用 LLM。该项目的目标是创建世界上最好的、真正的开源方法,以替代封闭源代码方法。作为令人难以置信和不可阻挡的开源社区的一部分,我们与令人难以置信的和不可阻挡的开源社区合作,开源了几个经过微调的 h2oGPT 模型,参数从 70 亿到 400 亿,准备在完全许可的 Apache2.0 许可证下用于商业使用。我们的版本中包括使用自然语言的 100 XMATHX PC 私人文档搜索。开源语言模型有助于推动人工智能的发展,使其更容易获得和值得信任。它们降低了进入门槛,允许个人和团体根据自己的需求定制这些模式。这种公开性增加了创新、透明度和公平性。需要一个开源战略来公平地分享人工智能的好处,而 H.O.ai 将继续使人工智能和 LLMS 民主化。

    04

    PyVibMS更新:支持ORCA、xtb、Q-Chem输出

    题中所述三种程序是比较流行的量子化学计算程序,笔者近期对PyVibMS插件进行了改进,使它能够原生支持ORCA、xtb和Q-Chem程序计算得到的振动分析输出。如果是第一次接触PyVibMS,请参见 《使用PyVibMS可视化分子和固体中的振动模式》一文。本文涉及的例子文件都在GitHub的档案中。 下面就ORCA、xtb和Q-Chem这三种量子化学计算程序,演示如何用PyVibMS显示分子振动。 1. ORCA 4 打开一个干净的PyMOL窗口,开启PyVibMS插件窗口后,在输入文件处选定 examples/ORCA/h2o/h2o.hess,在弹出的对话框内将文件类型调成 ORCA Hess File (*.hess)。确认选定后,将PyVibMS窗口的XYZ下拉菜单调成 ORCA 4 (.hess file)。因为这个文件包含了振动分析的结果,因此我们需勾选 Has Vib. Info. 然后点击Load载入即可。 ORCA产生的 .hess文件并非ORCA计算的主输出文件,它是振动分析产生的额外输出文件。 目前支持ORCA 4及以上的版本,但需要注意的是ORCA在处理多原子直线分子时似乎有个错误。例如对于二氧化碳分子(examples/ORCA/co2),ORCA只给出了3个振动而实际为4个。 2. xtb xtb程序在进行 --hess或--ohess 计算之后,会产生一个模仿高斯振动分析输出的g98.out文件,我们可以把这个文件载入PyVibMS进行振动可视化。 在新开启的PyVibMS窗口中,在输入文件处选定 examples/xtb-640/co2/g98.out,在弹出的对话框内将文件类型调成 Output File (*.out)。确认选定后,将PyVibMS窗口的XYZ下拉菜单调成 xtb (g98.out file), 勾选 Has Vib. Info. 后点击Load 载入即可。 3. Q-Chem PyVibMS插件支持Q-Chem计算的振动分析(freq) 输出和结构优化+振动分析(opt+freq) 输出,并且解析Hessian和数值Hessian情况下的振动结果都可以被分析。在新开启的PyVibMS窗口中,在输入文件处选定 examples/Q-Chem/h2o/ h2o-opt-f.log,在弹出的对话框内将文件类型调成 Log File (*.log). 确认选定后,将PyVibMS窗口的XYZ下拉菜单调成 Q-Chem 4/5, 勾选 Has Vib. Info. 后点击Load 载入即可。 4. 其他量子化学程序 除了以上几个比较常用的量子化学程序,我们还可能会用到CFOUR、MOLCAS等其他程序。对于这些程序计算得到的振动分析结果,我们可以先使用UniMoVib程序(https://github.com/zorkzou/UniMoVib)处理,导出PyVibMS可以读取的XYZ坐标和mode文本文件,再使用PyVibMS进行振动可视化。关于UniMoVib程序的情况,可参见“分子振动频率和热化学计算程序UniMoVib”一文(http://bbs.keinsci.com/thread-5793-1-1.html)。具体流程请见后续推送:“使用UniMoVib+PyVibMS显示其他量化程序振动分析结果”。

    02

    HEAL-ViT | 球形网格与Transformer的完美结合,引领机器学习预测新纪元!

    近年来,各种机器学习天气预测模型(MLWPs)在中期天气预报方面表现出了强大的性能,这被定义为从给定初始条件下生成10天预报的任务。MLWPs通常在ECMWF的ERA5数据集(Hersbach等人,2020年)上进行训练,并在关键指标上超过了通常被认为是数值天气预报(NWP)领域最先进技术的ECMWF IFS模型(Haiden等人,2018年)。多种模型结构都成功地生成了高质量的10天预报,其中突出的模型包括FourCastNet(Pathak等人,2022年)、Pangu-Weather(Bi等人,2023年)、GraphCast(Lam等人,2022年)和FuXi(Chen等人,2023年),这些模型在ERA5数据集(Hersbach等人,2020年)提供的原生0.25

    01

    机器学习的跨学科应用——模型篇

    数据集的大小基本上可以确定您选择的机器学习模型。对于较小的数据集,经典的统计机器学习模型(例如回归,支持向量机,K近邻和决策树)更加合适。相比之下,神经网络需要大量数据,并且只有当您拥有成千上万个或者更多的训练数据条目时,神经网络才开始变得可行。通过 bagging , boosting 以及 stacking 等方法,经典统计模型可以进一步改进其性能。现有许多封装好的 Python 库可以调用实现以上模型功能,其中最著名的可能是 scikit-learn 。对于较大的数据集,神经网络和深度学习方法更为常用。在学术界中, PyTorch 以及 TensorFlow 通常用于实现这些架构。 特征工程对于较小的数据集非常重要。如果通过精心设计其特征,则可以大大提高模型的性能 。将化学成分转换成可用于机器学习研究的可用输入特征的常用方法是基于成分的特征向量(Composition-based Feature Vectors, CBFVs),例如 Jarvis , Mapie , Mat2Vec , Oliynyk 。这一系列的CBFVs包含了通过实验得出的值,通过高通量计算来得到的值,或者使用机器学习技术从材料科学文献中提取的值。除了使用CBFVs来进行特征化数据,您还可以尝试对元素进行简单的 one-hot 编码。这些CBFV特征化方案以及特征化化学成分都包含在GitHub项目中。 对于足够大的数据集和更有学习能力的架构,例如深度全连接网络 或者新兴的注意力机制架构(比如CrabNet),与简单的 one-hot 编码相比,特征工程和输入数据中领域知识的集成(例如CBFVs的使用)可能会变得无关紧要,并且不会为更好的模型性能做出贡献 。因此,由于需要整理和评估针对您的研究的领域知识功能,您可能会发现寻找其他的数据源,采用已经建立好的特征模式,或者使用不需要领域知识的学习方法会更有益。

    02
    领券