本文整理汇总了C++中Corpus::pegarQtdSentencas方法的典型用法代码示例。如果您正苦于以下问题:C++ Corpus::pegarQtdSentencas方法的具体用法?C++ Corpus::pegarQtdSentencas怎么用?C++ Corpus::pegarQtdSentencas使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Corpus
的用法示例。
在下文中一共展示了Corpus::pegarQtdSentencas方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
vector<float> AvaliadorAcuracia::calcularDesempenho( Corpus &corpus, int atributo_padrao, int atributo_teste )
{
/**
*
* Calcula a porcentagem de acerto para um determinado atributo
*
*/
vector<float> vectorAcuracia;
int row = corpus.pegarQtdSentencas(), column, acertos = 0, totalTokens = 0;
for ( register int i = 0; i < row; ++i )
{
column = corpus.pegarQtdTokens( i );
for ( register int j = 0; j < column; ++j )
{
if ( corpus.pegarValor(i,j,atributo_padrao) == corpus.pegarValor(i,j,atributo_teste) )
++acertos;
++totalTokens;
}
}
vectorAcuracia.push_back( (float)acertos / totalTokens );
return vectorAcuracia;
}
示例2: exemplos
bool ClassificadorAdaboostM1::executarClassificacao( Corpus &corpusProva, int atributo ) {
vector<vector<double> > exemplos(corpusProva.pegarQtdTotalExemplos(), vector<double>(valores.size(), 0.0));
int k, indice;
for (unsigned int t = 0; t < classificadores.size(); t++) {
(classificadores[t])->executarClassificacao(corpusProva, atributo);
k = 0;
for (int i = 0; i < corpusProva.pegarQtdSentencas(); i++) {
for (int j = 0; j < corpusProva.pegarQtdExemplos(i); j++) {
indice = -1;
for (unsigned int a = 0; a < valores.size() - 1; a++)
if (valores[a] == corpusProva(i, j, atributo)) {
indice = a;
a = valores.size();
}
if (indice == -1)
indice = valores.size() - 1;
exemplos[k][indice] -= log(betas[t]);
k++;
}
}
}
double maxBeta; int maxAtr;
k = 0;
for (int i = 0; i < corpusProva.pegarQtdSentencas(); i++) {
for (int j = 0; j < corpusProva.pegarQtdExemplos(i); j++) {
maxBeta = exemplos[k][valores.size()-1];
maxAtr = valores.size() - 1;
for (unsigned int a = 0; a < valores.size() - 1; a++) {
if (maxBeta <= exemplos[k][a]) {
maxBeta = exemplos[k][a];
maxAtr = a;
}
}
corpusProva(i, j, atributo, valores[maxAtr]);
k++;
}
}
return true;
}
示例3: corpus
vector<float> AvaliadorMatrizConfusao::calcularDesempenho( Corpus &corpus, int atributo_padrao, int atributo_teste )
{
/**
*
* Calcula somatorio de verdadeiros e negativos por classe
*
*/
vector<float> vectorMatriz;
int row = corpus.pegarQtdSentencas(), column,
numeroClasses = classes.size(), tam, posVerdadeiro, posResposta;
string resposta, verdade;
tam = numeroClasses*numeroClasses;
vectorMatriz.resize(tam);
for ( register int c = 0; c < tam; ++c )
vectorMatriz[c] = 0.0;
for ( register int i = 0; i < row; ++i )
{
column = corpus.pegarQtdTokens( i );
for ( register int j = 0; j < column; ++j )
{
verdade = corpus(i,j,atributo_padrao);
resposta = corpus(i,j,atributo_teste);
posVerdadeiro = posResposta = -1;
for ( register int c = 0; c < numeroClasses; ++c ){
if (classes[c]==verdade)
posVerdadeiro = c;
if (classes[c]==resposta)
posResposta = c;
}
if (posVerdadeiro == -1 || posResposta == -1 ){
cout << "Classe não encontrada, uma exceção será gerada.";
throw "Classe não encontrada pela matriz de confusão";
}
vectorMatriz[posVerdadeiro*numeroClasses+posResposta]++;
}
}
ultimaMatriz = vectorMatriz;
return vectorMatriz;
}