Algorithm-LibLinear
view release on metacpan or search on metacpan
src/liblinear.xs view on Meta::CPAN
case L2R_L2LOSS_SVR:
case L2R_L2LOSS_SVR_DUAL:
case L2R_L1LOSS_SVR_DUAL:
return true;
default:
return false;
}
}
void
validate_parameter(
pTHX_
struct problem *problem_,
struct parameter *parameter_) {
const char *message = check_parameter(problem_, parameter_);
if (message) {
Perl_croak(aTHX_ "Invalid training parameter: %s", message);
}
}
} // namespace
src/liblinear.xs view on Meta::CPAN
BOOT:
set_print_string_function(dummy_puts);
PROTOTYPES: DISABLE
struct model *
ll_train(klass, problem_, parameter_)
struct problem *problem_;
struct parameter *parameter_;
CODE:
validate_parameter(aTHX_ problem_, parameter_);
RETVAL = train(problem_, parameter_);
OUTPUT:
RETVAL
struct model *
ll_load(klass, filename)
const char *filename;
CODE:
RETVAL = load_model(filename);
if (!RETVAL) {
src/liblinear.xs view on Meta::CPAN
}
OUTPUT:
RETVAL
AV *
ll_cross_validation(self, problem_, num_folds)
struct parameter *self;
struct problem *problem_;
int num_folds;
CODE:
validate_parameter(aTHX_ problem_, self);
double *targets;
Newx(targets, problem_->l, double);
cross_validation(problem_, self, num_folds, targets);
RETVAL = newAV();
av_extend(RETVAL, problem_->l - 1);
for (int i = 0; i < problem_->l; ++i) {
av_push(RETVAL, newSVnv(targets[i]));
}
Safefree(targets);
OUTPUT:
( run in 0.478 second using v1.01-cache-2.11-cpan-a5abf4f5562 )