本文整理汇总了C++中RawData::destroy方法的典型用法代码示例。如果您正苦于以下问题:C++ RawData::destroy方法的具体用法?C++ RawData::destroy怎么用?C++ RawData::destroy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RawData
的用法示例。
在下文中一共展示了RawData::destroy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char* argv[]) {
options opts;
uint i = 0;
uint j = 0;
uint newFeatureIndex = 0;
uint lastFeatureIndex = 0;
double mrmr = 0;
double acum = 0;
vector<double> relevances;
vector<double> redundances;
vector<int> selectedFeatures;
Timer tm;
opts = parseOptions(argc, argv);
RawData rawData = RawData(opts.file);
tm.start();
ProbTable prob = ProbTable(rawData);
MutualInfo mutualInfo = MutualInfo(rawData, prob);
//Get relevances between all features and class.
for (i = 0; i < rawData.getFeaturesSize(); ++i) {
relevances.push_back(mutualInfo.get(opts.classIndex, i));
redundances.push_back(0);
}
// Max relevance feature is added because no redundancy is possible.
newFeatureIndex = getMaxRelevance(relevances, opts.classIndex);
selectedFeatures.push_back(newFeatureIndex);
lastFeatureIndex = newFeatureIndex;
cout << newFeatureIndex << ",";
//MRMR
while (selectedFeatures.size() < rawData.getFeaturesSize() - 1 //-1 because class is discarded
and selectedFeatures.size() < opts.selectedFeatures) {
acum = -std::numeric_limits<double>::infinity();
for (j = 0; j < rawData.getFeaturesSize(); ++j) {
//If feature not in selected selectedFeatures
if (find(selectedFeatures.begin(), selectedFeatures.end(), j)
== selectedFeatures.end() && j != opts.classIndex) {
redundances[j] += mutualInfo.get(lastFeatureIndex, j);
mrmr = relevances[j]
- (redundances[j] / selectedFeatures.size());
if (mrmr > acum) {
acum = mrmr;
newFeatureIndex = j;
}
}
}
//Last feature doesn't prints comma.
if ( (selectedFeatures.size() == (opts.selectedFeatures - 1)) or (selectedFeatures.size() == (rawData.getFeaturesSize() -2)) ){
cout << newFeatureIndex;
}else{
cout << newFeatureIndex << ",";
}
selectedFeatures.push_back(newFeatureIndex);
lastFeatureIndex = newFeatureIndex;
}
rawData.destroy();
prob.destroy();
printf("\n");
return (0);
}