91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-26
  • 語言: C/C++
  • 標(biāo)簽:

資源簡介

機(jī)器學(xué)習(xí),樸素貝葉斯算法分類,c++實現(xiàn)

資源截圖

代碼片段和文件信息

//?naiveBayesClassify.cpp?:?定義控制臺應(yīng)用程序的入口點。
//

//#include?“stdafx.h“
#include
#include
#include
#include
#include
#include?
//#include

using?namespace?std;

?

//save?the?training?data
typedef?vector>?strDVect;
//save?all?possible?condition?probabilitys
typedef?map>>?thriMap;
//service?for?thriMap
typedef?map>?doubleMap;
typedef?map?strMap;
//save?the?kind?of?aim?attribute?value
typedef?map?aimMap;
//kind?of?every?attribute?including?aim?attribute?value
typedef?map?attMap;
//const?for?denominator?and?numerator
double?K?=?1;
//sample
typedef?vector?sampleVect;


//check?the?three?dimensions?map?and?return?4?states
int?existRecord(thriMap?probstring?aimValuestring?attNamestring?attValue)
{
?thriMap::const_iterator?iterThri?=??prob.find(aimValue);
?if(iterThri?==?prob.end())
??return?1;
?doubleMap::const_iterator?iterDouble?=?iterThri->second.find(attName);
?if(iterDouble?==?iterThri->second.end())
??return?2;
?strMap::const_iterator?iterSingle?=?iterDouble->second.find(attValue);
?if(iterSingle?==?iterDouble->second.end())
??return?3;
?return?4;?
}

void?show(thriMap?prob)
{
?thriMap::iterator?iterThri?=?prob.begin();
?for(;iterThri?!=?prob.end();?iterThri++)
?{?
??doubleMap::iterator?iterDouble?=?iterThri->second.begin();
??for(;iterDouble?!=?iterThri->second.end();?iterDouble++)
??{
???strMap::iterator?iterSingle?=?iterDouble->second.begin();
???for(;iterSingle?!=?iterDouble->second.end();?iterSingle++)
???{
????cout?<first?<first?<first?<second?<???}
??}
?}
}

//get?all?possible?statistics
//three?dimensions?hash?prob?first?key?notes?aim?attribute?valuesecond?key?notes?refence?attribute?name
//third?key?notes?reference?attribute?value?the?value?notes?the?refence?attribute?value?number
void?getConditionStat(strDVect?datasthriMap?&probaimMap?&aimNum)
{
?int?ijkmn;
?m?=?datas.size();
?n?=?datas[0].size();
???
????doubleMap?doubleMapIns;
?strMap?strMapIns;
?thriMap::iterator?iterThri;
?doubleMap::iterator?iterDouble;
?for(i=1;?i??{
??//save?all?possible?statistics
??for(j?=?0;?j???{
???switch(existRecord(probdatas[i][n-1]datas[0][j]datas[i][j]))
???{
???case?1:
????//must?clear
????strMapIns.clear();
????doubleMapIns.clear();
????strMapIns.insert(make_pair(datas[i][j]1));
????doubleMapIns.insert(make_pair(datas[0][j]strMapIns));
????prob.insert(make_pair(datas[i][n-1]doubleMapIns));
????break;
???case?2:
????strMapIns.clear();
????strMapIns.insert(make_pair(datas[i][j]1));
????prob.find(datas[i][n-1])->second.insert(make_pair(datas[0][j]strMapIns));
????break;
???case?3:
????prob.find(datas[i][n-1])->second.find(datas[0][j])->second.insert(make_pair

評論

共有 條評論