数据帧分析限制
编辑数据帧分析限制
编辑以下限制和已知问题适用于 Elastic 数据帧分析功能的 8.17.0 版本。这些限制分为以下几类:
平台限制
编辑CPU 调度改进仅适用于 Linux 和 MacOS
编辑当同时运行许多机器学习作业并且 CPU 资源不足时,必须优先考虑 JVM 性能,以使搜索和索引延迟保持在可接受的范围内。为此,当 Linux 和 MacOS 环境中的 CPU 受到限制时,原生分析进程的 CPU 调度优先级会降低,以优先考虑 Elasticsearch JVM。此改进不适用于 Windows 环境。
配置限制
编辑不支持跨集群搜索
编辑数据帧分析不支持跨集群搜索。
不支持嵌套字段
编辑数据帧分析作业不支持嵌套字段。在分析过程中会忽略这些字段。如果选择嵌套字段作为分类或回归分析的因变量,则会发生错误。
无法更新数据帧分析作业
编辑您无法更新数据帧分析配置。您需要删除数据帧分析作业并创建一个新的作业。
数据帧分析内存限制
编辑数据帧分析只能执行适合机器学习可用内存的分析。目前无法溢出到磁盘。有关常规机器学习设置,请参阅 Elasticsearch 中的机器学习设置。
当您创建数据帧分析作业并且由于模型太大而无法放入 JVM 导致该过程的推理步骤失败时,请按照 此 GitHub 问题中的步骤进行解决方法。
数据帧分析作业不能使用超过 232 个文档进行训练
编辑无法启动使用超过 232 个文档进行训练的数据帧分析作业。此限制仅适用于参与模型训练的文档。如果您的源索引包含超过 232 个文档,请将 training_percent
设置为表示少于 232 个文档的值。
在 7.8 中创建的训练模型不向后兼容
编辑在 7.8.0 版本中创建的训练模型不向后兼容旧的节点版本。在混合集群环境中,所有节点必须至少为 7.8.0 才能使用在 7.8.0 节点上创建的模型。
操作限制
编辑删除数据帧分析作业不会删除目标索引
编辑删除数据帧分析作业 API 不会删除包含数据帧分析的带注释数据的目标索引。该索引必须单独删除。
数据帧分析作业的运行时可能会有所不同
编辑数据帧分析作业的运行时取决于许多因素,例如数据集中的数据点数量、分析类型、分析中包含的字段数量、提供的超参数、分析的字段类型等等。因此,不存在适用于所有或大多数情况的通用运行时值。在极端情况下,数据帧分析作业的运行时可能需要几分钟到几个小时不等。
运行时随着分析字段数量的增加而近似呈线性增加。对于超过 100,000 个点的数据集,请从较低的训练百分比开始。运行几个数据帧分析作业,以了解运行时如何随着数据点数量的增加而缩放,以及结果质量如何随着训练百分比的增加而缩放。
在 Elasticsearch 升级后,数据帧分析作业可能会重新启动
编辑在以下情况下,数据帧分析作业可能会从头开始重新启动:
- 该作业在 Elasticsearch 更新期间正在进行中。
- 该作业在版本更高的节点上恢复。
- 结果格式已更改,需要在目标索引中使用不同的映射。
如果满足任何这些条件,则会删除数据帧分析作业的目标索引,并且该作业将从头开始重新启动,无论该作业处于哪个阶段。
跳过分析字段中具有多元素数组值的文档
编辑如果文档中分析字段(数据帧分析的主题字段)的值是具有多个元素的数组,则在分析过程中会跳过包含此字段的文档。
异常值检测字段类型
编辑异常值检测需要分析数值或布尔数据。这些算法不支持缺失值,因此会忽略数据类型不是数值或布尔值的字段。还会忽略包含缺失值、空值或数组的包含字段的文档。因此,目标索引可能包含没有异常值分数的文档。这些文档仍然会从源索引重新索引到目标索引,但它们不包含在异常值检测分析中,因此不会计算异常值分数。
回归字段类型
编辑回归支持数值、布尔、文本、关键字和 IP 字段。它也容忍缺失值。分析中包含受支持的字段,而忽略其他字段。还会忽略包含数组的包含字段的文档。目标索引中不包含结果字段的文档不包含在回归分析中。
分类字段类型
编辑分类支持具有数值、布尔、文本、关键字或 IP 数据类型的字段。它也容忍缺失值。分析中包含受支持的字段,而忽略其他字段。还会忽略包含数组的包含字段的文档。目标索引中不包含结果字段的文档不包含在分类分析中。
不平衡的类大小会影响分类性能
编辑如果您的训练数据非常不平衡,则分类分析可能无法提供良好的预测。尽量避免高度不平衡的情况。我们建议每个类至少有 50 个示例,并且训练数据中多数类标签与少数类标签的比率不超过 10:1。如果您的训练数据集非常不平衡,请考虑对多数类进行降采样、对少数类进行上采样或收集更多数据。
深度嵌套的对象会影响推理性能
编辑如果您运行推理的数据包含具有一系列点分隔和嵌套字段组合的文档(例如:{"a.b": "c", "a": {"b": "c"},...}
),则操作的性能可能会略微降低。为了获得最佳性能,请考虑使用尽可能简单的映射。
使用特征重要性计算时,分析运行时性能可能会显著降低
编辑对于复杂的模型(例如,具有许多深层树的模型),计算特征重要性需要花费更多时间。如果缩短运行时对您很重要,请尝试以下策略:禁用特征重要性、减少训练数据量(例如,通过降低训练百分比)、设置超参数值,或仅选择与分析相关的字段。