MCPcopy Create free account
hub / github.com/catboost/catboost / CatBoostSumModels_R

Function CatBoostSumModels_R

catboost/R-package/src/catboostr.cpp:648–671  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

646}
647
648EXPORT_FUNCTION CatBoostSumModels_R(SEXP modelsParam,
649 SEXP weightsParam,
650 SEXP ctrMergePolicyParam) {
651 SEXP result = NULL;
652 R_API_BEGIN();
653 const auto weights = GetVectorFromNullableSEXP<double>(weightsParam, "weights"_sb);
654 ECtrTableMergePolicy mergePolicy;
655 CB_ENSURE(TryFromString<ECtrTableMergePolicy>(CHAR(asChar(ctrMergePolicyParam)), mergePolicy),
656 "Unknown value of ctr_table_merge_policy: " << CHAR(asChar(ctrMergePolicyParam)));
657
658 TVector<TFullModelConstPtr> models;
659 for (int idx = 0; idx < length(modelsParam); ++idx) {
660 TFullModelHandle model = static_cast<TFullModelHandle>(R_ExternalPtrAddr(VECTOR_ELT(modelsParam, idx)));
661 models.push_back(model);
662 }
663 TFullModelPtr modelPtr = std::make_unique<TFullModel>();
664 SumModels(models, weights, /*modelParamsPrefixes*/{}, mergePolicy).Swap(*modelPtr);
665 result = PROTECT(R_MakeExternalPtr(modelPtr.get(), R_NilValue, R_NilValue));
666 R_RegisterCFinalizerEx(result, _Finalizer<TFullModelHandle>, TRUE);
667 modelPtr.release();
668 R_API_END();
669 UNPROTECT(1);
670 return result;
671}
672
673EXPORT_FUNCTION CatBoostCV_R(SEXP fitParamsAsJsonParam,
674 SEXP poolParam,

Callers

nothing calls this directly

Calls 6

SumModelsFunction · 0.85
lengthFunction · 0.50
push_backMethod · 0.45
SwapMethod · 0.45
getMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected