for v in valoresPosibles["G3"]: cant[v] = len([e for e in estudiantesEntrenamiento if e["G3"] == v]) masProbable = max(cant.iteritems(), key=lambda (k, v): v)[0] correctos = 0 for e in estudiantesTest: if e["G3"] == masProbable: correctos += 1 validacionMasProbable += float(correctos)/len(estudiantesTest) resultados = [] for i in range(CANT_BLOQUES): pos = i*largoBloque estTest = estudiantesEntrenamiento[pos:pos+largoBloque] estEntr = estudiantesEntrenamiento[:pos] + estudiantesEntrenamiento[pos+largoBloque:] (p, pc) = bayes.entrenar(ejemplos= estEntr) resultados.append(bayes.validarLista(estTest, p, pc)) validacionCruzada += sum([r/CANT_BLOQUES for r in resultados]) # Entreno el algoritmo con estudiantesEntrenamiento y lo valido con estudiantesTest (p, pc) = bayes.entrenar(ejemplos= estudiantesEntrenamiento) validacionFinal += bayes.validarLista(estudiantesTest, p, pc) for i in range(0, MAX_AJUSTE): (p, pc) = bayes.entrenar(ejemplos= estudiantesEntrenamiento, ajuste= i) validacionAjuste[i] += bayes.validarLista(estudiantesTest, p, pc) print 'Porcentaje de aciertos:'