SHOGUN
3.2.1
首页
相关页面
模块
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
src
shogun
evaluation
MeanAbsoluteError.cpp
浏览该文件的文档.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 3 of the License, or
5
* (at your option) any later version.
6
*
7
* Copyright (C) 2011 Soeren Sonnenburg, Sergey Lisitsyn
8
*/
9
10
#include <
shogun/evaluation/MeanAbsoluteError.h
>
11
#include <
shogun/labels/Labels.h
>
12
#include <
shogun/labels/RegressionLabels.h
>
13
#include <
shogun/mathematics/Math.h
>
14
15
using namespace
shogun;
16
17
float64_t
CMeanAbsoluteError::evaluate
(
CLabels
* predicted,
CLabels
* ground_truth)
18
{
19
ASSERT
(predicted && predicted->
get_label_type
() ==
LT_REGRESSION
)
20
ASSERT
(ground_truth && ground_truth->
get_label_type
() ==
LT_REGRESSION
)
21
22
ASSERT
(predicted->
get_num_labels
() == ground_truth->
get_num_labels
())
23
int32_t length = predicted->
get_num_labels
();
24
float64_t
mae = 0.0;
25
for
(int32_t i=0; i<length; i++)
26
mae +=
CMath::abs
(((
CRegressionLabels
*) predicted)->get_label(i) - ((
CRegressionLabels
*) ground_truth)->get_label(i));
27
mae /= length;
28
return
mae;
29
}
SHOGUN
机器学习工具包 - 项目文档