gpt4 book ai didi

c++ - 在 C++ 中创建 xgboost Dmatrix

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:22:09 25 4
gpt4 key购买 nike

我想在 C++ 项目中使用 xgboost 进行图像分类。我有特征矩阵 (hist) cv::Mat_ 和标签 vector std::vector,如何在 C++ 中创建 xgboost::DMatrix?我想我应该使用 DMatrix::Create(),但我不明白我应该传递哪些参数。

std::vector<int> labels; //read this labels from csv
auto features = extract_features(img_ident, dir);
cv::Mat_<float> training_set(features);

xgboost::DMatrix xgb_data = xgboost::DMatrix::Create(????);

最佳答案

使用 c_api:

DMatrixHandle xgbData;
int success = XGDMatrixCreateFromMat(&features[0], m_nRowCount, m_nColCount, 0, &xgbData);
if(success != 0)
THROW_ERROR("Error creating DMatrix\n");

success = XGDMatrixSetFloatInfo(xgbData, "label", &matrixYLabels[0], m_nRowCount);
if(success != 0)
THROW_ERROR("Error setting Y values in DMatrix\n");

success = XGDMatrixSaveBinary(xgbData, filename, false);
if(success != 0)
THROW_ERROR("Error saving DMatrix\n");

关于c++ - 在 C++ 中创建 xgboost Dmatrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35289674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com