用于创建自定义数据迭代器以从外部内存构建 DMatrix 的接口。
此函数负责生成一个 R 对象结构,其中包含回调函数和与它们共享的环境。
此函数的输出结构随后将传递给 xgb.ExtMemDMatrix(),后者将通过执行回调函数来使用数据并从中创建 DMatrix。
有关更多信息和使用示例,请参阅 xgb.ExtMemDMatrix() 的文档。
用法
xgb.DataIter(env = new.env(), f_next, f_reset)参数
- env
- 一个 R 环境,用于传递给此处提供的回调函数,可用于跟踪变量以确定如何处理批次。 - 例如,可能希望在此环境中跟踪迭代次数,以便知道接下来要传递数据哪一部分。 
- f_next
- function(env)负责- 访问或检索迭代器中的下一个数据批次。 
- 通过对其调用函数 - xgb.DataBatch()并返回结果来提供此数据。
- 跟踪其在迭代器批次中的位置或下一步将去向何处,这可以通过修改此处传递的 - env变量中的变量来完成。
- 通过在数据流结束(迭代器中的所有批次都已使用)时返回 - NULL,或者在有更多批次待使用时返回调用- xgb.DataBatch()的结果,来指示是否有更多批次要使用。
 
- f_reset
- function(env)负责重置数据迭代器(即,将其返回到第一个批次,在批次序列使用之前和之后调用)。- 请注意,在重置迭代器后,将再次访问批次,因此在后续迭代中必须传递相同的数据(并且按相同顺序)。 
值
一个 xgb.DataIter 对象,包含此处提供的相同输入,然后可以将其传递给 xgb.ExtMemDMatrix()。