示例#1
0
nomeArquivo=args["nome"]
if(nomeArquivo==None):
    nomeArquivo='k_fold_resultado/k_fold_'+str(fold)+"_"+( "KNN" if tipoClassificador==1 else "SVM")+"_"+( "MoCr" if metodo==1 else "HiCo")
    
print nomeArquivo

arquivo = open(nomeArquivo+'.txt', 'w')

matrizConfusao=[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]#vetor para gerar matriz confusao
classe2index={'carettacaretta': 0, 'cheloniamydas': 1,'dermochelyscoriacea':2,'eretmochelysimbricata':3,'lepidochelysolivacea':4}
index2classe={0:'carettacaretta', 1:'cheloniamydas', 2:'dermochelyscoriacea',3:'eretmochelysimbricata',4:'lepidochelysolivacea'}

#gerar k-fold e testar imagens no classificador
for imagensTreino,imagensTeste in classificador.k_fold_cross_validation(allSet, fold, True):
    #carregar imagens de treino
    vetorTreinamento,classesTreinamento=classificador.carregar_imagens(imagensTreino,metodo)
    #carregar imagens de teste
    vetorTeste,classesTeste=classificador.carregar_imagens(imagensTeste,metodo)
    #testar classificador
    resultado=classificador.testar(vetorTreinamento,classesTreinamento,vetorTeste,tipoClassificador)
    mascara = resultado==classesTeste
    acertos = np.count_nonzero(mascara)
    porcentagem_acertos= acertos*100.0/resultado.size
    for index in range(len(resultado)):
        indiceClassePredita=resultado[index]
        indiceClasseReal=classesTeste[index]
        matrizConfusao[indiceClasseReal][indiceClassePredita]+=1

    arquivo.write("Treino:%s\n\n" % imagensTreino)
    arquivo.write("Teste:%s\n\n" % imagensTeste)
    arquivo.write("Verdadeiro:%s\n\n" % classesTeste)
rest=fold=10
acumulador=0
precisao=0
count=0

nomeArquivo='leave_one_out_result/leave_one_out_'+( "KNN" if tipoClassificador==1 else "SVM")+"_"+( "MoCr" if metodo==1 else "HiCo")

arquivo = open(nomeArquivo+'.txt', 'w')

preds=[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]#vetor para gerar matriz con
dictClasses={'carettacaretta': 0, 'cheloniamydas': 1,'dermochelyscoriacea':2,'eretmochelysimbricata':3,'lepidochelysolivacea':4}
dictClassesIndex={0:'carettacaretta', 1:'cheloniamydas', 2:'dermochelyscoriacea',3:'eretmochelysimbricata',4:'lepidochelysolivacea'}


for train,test in classificador.k_fold_cross_validation(allSet, fold, True):
    trainingSet,trainingResponse=classificador.carregar_imagens(train,metodo)
    testSet,testResponse=classificador.carregar_imagens(test,metodo)
    precisao,result=classificador.testar(trainingSet,trainingResponse,testSet,testResponse,tipoClassificador)
    for index in range(len(result)):
        indiceClassePredita=result[index]
        indiceClasseReal=testResponse[index]
        preds[indiceClasseReal][indiceClassePredita]+=1

    arquivo.write("Treino:%s\n\n" % train)
    arquivo.write("Teste:%s\n\n" % test)
    arquivo.write("Verdadeiro:%s\n\n" % testResponse)
    arquivo.write("Classificado:%s\n\n" % result)
    rest=rest-1
    print "resta:",rest

dictClassesIndex={0:'carettacaretta', 1:'cheloniamydas', 2:'dermochelyscoriacea',3:'eretmochelysimbricata',4:'lepidochelysolivacea'}