本文整理汇总了C++中NameMap::getNameFromIdx方法的典型用法代码示例。如果您正苦于以下问题:C++ NameMap::getNameFromIdx方法的具体用法?C++ NameMap::getNameFromIdx怎么用?C++ NameMap::getNameFromIdx使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NameMap
的用法示例。
在下文中一共展示了NameMap::getNameFromIdx方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: outputMAE
void OutputInfo::outputMAE(InputData* pData)
{
const int numExamples = pData->getNumExamples();
table& g = _gTableMap[pData];
vector<Label>::const_iterator lIt,maxlIt,truelIt;
float maxDiscriminant,mae = 0.0,mse = 0.0,tmpVal;
char maxLabel;
// Get label values: they must be convertible to float
vector<float> labelValues;
NameMap classMap = pData->getClassMap();
for (int l = 0;l < classMap.getNumNames(); ++l)
labelValues.push_back(atof(classMap.getNameFromIdx(l).c_str()));
// Building the strong learner (discriminant function)
for (int i = 0; i < numExamples; ++i){
const vector<Label>& labels = pData->getLabels(i);
maxDiscriminant = -numeric_limits<float>::max();
maxLabel = -100;
for (lIt = labels.begin(); lIt != labels.end(); ++lIt ) {
if ( g[i][lIt->idx] > maxDiscriminant ) {
maxDiscriminant = g[i][lIt->idx];
maxlIt = lIt;
}
if ( lIt->y > maxLabel ) {
maxLabel = lIt->y;
truelIt = lIt;
}
}
tmpVal = labelValues[truelIt->idx] - labelValues[maxlIt->idx];
mae += fabs(tmpVal);
mse += tmpVal * tmpVal;
}
_outStream << '\t' << mae/(float)(numExamples) << '\t' << sqrt(mse/(float)(numExamples));
}