shared_ptr<ProbabilisticSvmClassifier> ProbabilisticSvmClassifier::loadFromMatlab(const string& classifierFilename, const string& logisticFilename) { pair<double, double> sigmoidParams = loadSigmoidParamsFromMatlab(logisticFilename); // Load the detector and thresholds: shared_ptr<SvmClassifier> svm = SvmClassifier::loadFromMatlab(classifierFilename); return make_shared<ProbabilisticSvmClassifier>(svm, sigmoidParams.first, sigmoidParams.second); }
shared_ptr<ProbabilisticWvmClassifier> ProbabilisticWvmClassifier::load(const ptree& subtree) { pair<double, double> sigmoidParams = loadSigmoidParamsFromMatlab(subtree.get<string>("thresholdsFile")); // Load the detector and thresholds: shared_ptr<WvmClassifier> wvm = WvmClassifier::loadFromMatlab(subtree.get<string>("classifierFile"), subtree.get<string>("thresholdsFile")); shared_ptr<ProbabilisticWvmClassifier> pwvm = make_shared<ProbabilisticWvmClassifier>(wvm, sigmoidParams.first, sigmoidParams.second); pwvm->getWvm()->setLimitReliabilityFilter(subtree.get("threshold", 0.0f)); return pwvm; }