课程评价 (0)

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

学员评价

暂无精选评价
10分钟

数据接口

4.1.1 数据格式

  1. lightgbm 支持csv,tsv,libsvm 格式的输入数据文件。其中:
    1. 可以包含标题
    2. 可以指定label列、权重列、query/group id
    3. 也可以指定一个被忽略的列的列表。
    4. train_data = lgb.Dataset('train.svm.txt')
  2. lightgbm 也支持numpy 2d array 以及 pandas 对象。 data = np.random.rand(500, 10)  # 500 个样本, 每一个包含 10 个特征label = np.random.randint(2, size=500)  # 二元目标变量, 0 和 1train_data = lgb.Dataset(data, label=label)
  3. lightgbm 也支持scpiy.sparse.csr_matrix: csr = scipy.sparse.csr_matrix((dat, (row, col)))train_data = lgb.Dataset(csr)
  4. lightgbm 可以通过Lightgbm 二进制文件来保存和加载数据。 train_data = lgb.Dataset('train.bin')train_data.save_binary('train2.bin')
  5. 创建验证集:(要求验证集和训练集的格式一致) test_data = lgb.Dataset('test.svm', reference=train_data) 或者: train_data = lgb.Dataset('train.svm.txt')test_data = train_data.create_valid('test.svm')
  6. lightgbm 中的 Dataset 对象由于仅仅需要保存离散的数据桶,因此它具有很好的内存效率。 但是由于numpy array/pandas 对象的内存开销较大,因此当使用它们来创建Dataset 时,你可以通过下面的方式来节省内存:
    1. 构造Dataset 时,设置free_raw_data=True
    2. 在构造Dataset 之后,手动设置raw_data=True
    3. 手动调用gc
  7. categorical_feature 的支持:
    • 需要指定categorical_feature 参数
    • 对于categorical_feature特征,首选需要将它转换为整数类型,并且只支持非负数。如果转换为连续的范围更佳。