课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
15分钟

步骤三:

当你通过 Dataset() 来创建一个 Dataset 对象的时候,它并没有真正的创建必要的数据(必要的数据指的是为训练、预测等准备好的数据),而是推迟到构造一个Booster 的时候。

因为lightgbm 需要构造bin mappers 来建立子树、建立同一个Booster 内的训练集和验证集(训练集和验证集共享同一个bin mapperscategorical featuresfeature names)。所以Dataset 真实的数据推迟到了构造Booster 的时候。

在构建Dataset 之前:

  • get_label()、get_weight()、get_init_score()、get_group(): 等效于self.label、self.weight、self.init_score、self.group 此时调用 self.get_field(field) 会抛出异常:Cannot get group before construct Dataset
  • set_label()、set_weight()、set_init_score()、set_group(): 等效于self.label=xxx、self.weight=xxx、self.init_score=xxx、self.group=xxx
  • self.num_data()、self._num_feature() 可以从self.data 中获取。 如果self.datandarray,则它们就是self.data.shape[0],self.data.shape[1]