0
我試圖實現SFS
算法this文件pages 11-12
。順序前進(SFS)算法
我有C++
到目前爲止是這樣的:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
struct Features
{
int m_f1;
int m_f2;
int m_f3;
int m_f4;
Features(int a, int b, int c, int d) :
m_f1(a),
m_f2(b),
m_f3(c),
m_f4(d)
{
}
};
int criterionFunction(Features const& features)
{
return -2 * features.m_f1 * features.m_f2 +
3 * features.m_f3 +
5 * features.m_f4 +
-2 * features.m_f1 * features.m_f2 * features.m_f3 +
7 * features.m_f3 +
4 * features.m_f4 +
-2 * features.m_f1 * features.m_f2 * features.m_f3 * features.m_f4;
}
int main(){
Features feature,
vector<Features> listOfFeatures(4);
listOfFeatures.push_back(Features(1,0,0,0));
listOfFeatures.push_back(Features(0,1,0,0));
listOfFeatures.push_back(Features(0,0,1,0));
listOfFeatures.push_back(Features(0,0,0,1));
vector<int> listOfCriterion;
}
我的問題是:
- 什麼是使,使得在以往的特徵傳遞給criterionFunction()
呼叫的方式(即; m_f1)將採取價值1
和未通過將具有價值0
?
- 在這裏,我想選擇(我的輸出)最好的three
功能的組合。我怎樣才能做到這一點?
人,我會說實話。我是一個懶惰的程序員......任何時候,我看到'矩陣乘法/累加/序列或probability'我覺得直'Matlab',我甚至不嘗試在'C開始++的東西'或'Java'除非我不得不。你有沒有考慮過'Matlab'來完成你的任務?的 – cybertextron 2012-07-30 14:35:01
可能重複[如果我傳遞一個值,我希望它「1」,否則,我希望它「0」。你覺得呢?(http://stackoverflow.com/questions/11713452/if-i-pass-a-value-i-want-it-1-otherwise-i-want-it-0-what-do -您認爲) – Blastfurnace 2012-07-30 14:48:29