本文整理汇总了C++中Metric::name方法的典型用法代码示例。如果您正苦于以下问题:C++ Metric::name方法的具体用法?C++ Metric::name怎么用?C++ Metric::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Metric
的用法示例。
在下文中一共展示了Metric::name方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dispatch
inline Future<Nothing> remove(const Metric& metric)
{
// The metrics process is instantiated in `process::initialize`.
process::initialize();
return dispatch(
internal::metrics,
&internal::MetricsProcess::remove,
metric.name());
}
示例2: thundersvm_predict_sub
void thundersvm_predict_sub(DataSet& predict_dataset, CMDParser& parser, char* model_file_path, char* output_file_path){
fstream file;
file.open(model_file_path, std::fstream::in);
string feature, svm_type;
file >> feature >> svm_type;
CHECK_EQ(feature, "svm_type");
SvmModel *model = nullptr;
Metric *metric = nullptr;
if (svm_type == "c_svc") {
model = new SVC();
metric = new Accuracy();
} else if (svm_type == "nu_svc") {
model = new NuSVC();
metric = new Accuracy();
} else if (svm_type == "one_class") {
model = new OneClassSVC();
//todo determine a metric
} else if (svm_type == "epsilon_svr") {
model = new SVR();
metric = new MSE();
} else if (svm_type == "nu_svr") {
model = new NuSVR();
metric = new MSE();
}
#ifdef USE_CUDA
CUDA_CHECK(cudaSetDevice(parser.gpu_id));
#endif
model->set_max_memory_size_Byte(parser.param_cmd.max_mem_size);
model->load_from_file(model_file_path);
file.close();
file.open(output_file_path, fstream::out);
vector<float_type> predict_y;
predict_y = model->predict(predict_dataset.instances(), -1);
for (int i = 0; i < predict_y.size(); ++i) {
file << predict_y[i] << std::endl;
}
file.close();
if (metric) {
LOG(INFO) << metric->name() << " = " << metric->score(predict_y, predict_dataset.y());
}
}
示例3: thundersvm_train_sub
//void DataSet_load_from_python(DataSet *dataset, float *y, char **x, int len) {dataset->load_from_python(y, x, len);}
void thundersvm_train_sub(DataSet& train_dataset, CMDParser& parser, char* model_file_path){
SvmModel *model = nullptr;
switch (parser.param_cmd.svm_type) {
case SvmParam::C_SVC:
model = new SVC();
break;
case SvmParam::NU_SVC:
model = new NuSVC();
break;
case SvmParam::ONE_CLASS:
model = new OneClassSVC();
break;
case SvmParam::EPSILON_SVR:
model = new SVR();
break;
case SvmParam::NU_SVR:
model = new NuSVR();
break;
}
//todo add this to check_parameter method
if (parser.param_cmd.svm_type == SvmParam::NU_SVC) {
train_dataset.group_classes();
for (int i = 0; i < train_dataset.n_classes(); ++i) {
int n1 = train_dataset.count()[i];
for (int j = i + 1; j < train_dataset.n_classes(); ++j) {
int n2 = train_dataset.count()[j];
if (parser.param_cmd.nu * (n1 + n2) / 2 > min(n1, n2)) {
printf("specified nu is infeasible\n");
return;
}
}
}
}
if (parser.param_cmd.kernel_type != SvmParam::LINEAR)
if (!parser.gamma_set) {
parser.param_cmd.gamma = 1.f / train_dataset.n_features();
}
#ifdef USE_CUDA
CUDA_CHECK(cudaSetDevice(parser.gpu_id));
#endif
vector<float_type> predict_y, test_y;
if (parser.do_cross_validation) {
predict_y = model->cross_validation(train_dataset, parser.param_cmd, parser.nr_fold);
} else {
model->train(train_dataset, parser.param_cmd);
model->save_to_file(model_file_path);
LOG(INFO) << "evaluating training score";
predict_y = model->predict(train_dataset.instances(), -1);
//predict_y = model->predict(train_dataset.instances(), 10000);
//test_y = train_dataset.y();
}
Metric *metric = nullptr;
switch (parser.param_cmd.svm_type) {
case SvmParam::C_SVC:
case SvmParam::NU_SVC: {
metric = new Accuracy();
break;
}
case SvmParam::EPSILON_SVR:
case SvmParam::NU_SVR: {
metric = new MSE();
break;
}
case SvmParam::ONE_CLASS: {
}
}
if (metric) {
LOG(INFO) << metric->name() << " = " << metric->score(predict_y, train_dataset.y()) << std::endl;
}
return;
}
示例4: thundersvm_predict_matlab
void thundersvm_predict_matlab(int argc, char **argv){
CMDParser parser;
parser.parse_command_line(argc, argv);
char model_file_path[1024] = DATASET_DIR;
char predict_file_path[1024] = DATASET_DIR;
char output_file_path[1024] = DATASET_DIR;
strcat(model_file_path, parser.svmpredict_model_file_name);
strcat(predict_file_path, parser.svmpredict_input_file);
strcat(output_file_path, parser.svmpredict_output_file);
std::fstream file;
//FILE *fp;
//fp = fopen("model_file_path", "rb");
file.open(model_file_path, std::fstream::in);
string feature, svm_type;
//char feature[20];
//char svm_type[20];
//fscanf(fp, "%s", feature);
//fscanf(fp, "%s", svm_type);
file >> feature >> svm_type;
CHECK_EQ(feature, "svm_type");
SvmModel *model = nullptr;
Metric *metric = nullptr;
if (svm_type == "c_svc") {
model = new SVC();
metric = new Accuracy();
} else if (svm_type == "nu_svc") {
model = new NuSVC();
metric = new Accuracy();
} else if (svm_type == "one_class") {
model = new OneClassSVC();
//todo determine a metric
} else if (svm_type == "epsilon_svr") {
model = new SVR();
metric = new MSE();
} else if (svm_type == "nu_svr") {
model = new NuSVR();
metric = new MSE();
}
#ifdef USE_CUDA
CUDA_CHECK(cudaSetDevice(parser.gpu_id));
#endif
model->load_from_file(model_file_path);
//fclose(fp);
file.close();
//fp = fopen("output_file_path", "wb");
file.open(output_file_path, std::fstream::out);
DataSet predict_dataset;
predict_dataset.load_from_file(predict_file_path);
vector<float_type> predict_y;
predict_y = model->predict(predict_dataset.instances(), 10000);
for (int i = 0; i < predict_y.size(); ++i) {
//fprintf(fp, "%s\n", predict_y[i]);
file << predict_y[i] << std::endl;
}
//fclose(fp);
file.close();
if (metric) {
LOG(INFO) << metric->name() << " = " << metric->score(predict_y, predict_dataset.y());
}
}