aciertosPorClase[clase] += 1 procentajeError = error / float(instances.getNumeroInstances()) print 'Error medio: ' + str(procentajeError) for clase in instances.getClases(): sumaAux = float(erroresPorClase[clase] + aciertosPorClase[clase]) print '\t' + clase + ': ' + str( erroresPorClase[clase]) + ' aciertos: ' + str( aciertosPorClase[clase]) + ' porcentaje: ' + str( erroresPorClase[clase] / sumaAux) """pruebas unitarias""" if __name__ == '__main__': lector = LectorNeuro() instances = lector.leerFichero('../data/nand.txt') porcentajeParticionado = 1.0 particionado = DivisionPorcentual() particionado.setPortcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) print "Adaline" clasificador = Adaline() clasificador.setDebug(True) clasificador.buildClassifier(particion.getTrain()) print "Error TRAIN:" calculaError(clasificador, particion.getTrain()) if porcentajeParticionado != 1.0: print "Error TEST:" calculaError(clasificador, particion.getTest())
if prediccion != clase: erroresPorClase[clase] += 1 error += 1.0 else: aciertosPorClase[clase] += 1 procentajeError = error / float(instances.getNumeroInstances()) print 'Error medio: ' + str(procentajeError) for clase in instances.getClases(): sumaAux = float(erroresPorClase[clase] + aciertosPorClase[clase]) print '\t'+ clase + ': ' + str(erroresPorClase[clase]) + ' aciertos: ' + str(aciertosPorClase[clase]) + ' porcentaje: ' + str(erroresPorClase[clase] / sumaAux) """pruebas unitarias""" if __name__ == '__main__': lector = LectorNeuro() instances = lector.leerFichero('../data/problema_real2_combinacion.txt'); porcentajeParticionado = 1.0 particionado = DivisionPorcentual() particionado.setPortcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) print "Adaline" clasificador = Adaline() clasificador.setDebug(True) clasificador.buildClassifier(particion.getTrain()) print "Error TRAIN:" calculaError(clasificador, particion.getTrain()) if porcentajeParticionado != 1.0: print "Error TEST:" calculaError(clasificador, particion.getTest())
aciertosPorClase[clase] += 1 procentajeError = error / float(instances.getNumeroInstances()) print 'Error medio: ' + str(procentajeError) for clase in instances.getClases(): sumaAux = float(erroresPorClase[clase] + aciertosPorClase[clase]) print '\t' + clase + ': ' + str( erroresPorClase[clase]) + ' aciertos: ' + str( aciertosPorClase[clase]) + ' porcentaje: ' + str( erroresPorClase[clase] / sumaAux) """pruebas unitarias""" if __name__ == '__main__': lector = LectorNeuro() instances = lector.leerFichero('../data/problema_real2.txt') porcentajeParticionado = 0.7 particionado = DivisionPorcentual() particionado.setPortcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) print "Adaline" clasificador = Adaline() clasificador.setDebug(True) clasificador.buildClassifier(particion.getTrain()) print "Error TRAIN:" calculaError(clasificador, particion.getTrain()) if porcentajeParticionado != 1.0: print "Error TEST:" calculaError(clasificador, particion.getTest())
if __name__ == '__main__': if len(sys.argv) != 6: print "Error en la llamada. Se esperan los siguientes argumentos:" print "\t1.- Nombre del fichero con los datos del problema." print "\t2.- El porcentaje del conjunto de train. Expresar como un numero entre 0 y 1 utilizando el punto como divisor decimal." print "\t3.- La tasa de aprendizaje." print "\t4.- El numero de neuronas de la capa oculta." print "\t5.- El nombre del fichero donde debe escribirse el error cuadratico medio en cada epoca. Se borrara el fichero si ya existe." print "Ejemplo de llamada: python main.py xor.txt 1 0.1 2 xor_error.txt" sys.exit(-1) lector = LectorNeuro() instances = lector.leerFichero(sys.argv[1]) instances.normaliza() porcentajeParticionado = float(sys.argv[2]) particionado = DivisionPorcentual() particionado.setPorcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) print "Multilayer Perceptron" clasificador = RedNeuronal() clasificador.setParameters('nNeuronas=' + sys.argv[4]) clasificador.setParameters('alpha=' + sys.argv[3]) clasificador.setParameters('nEpocas=1000') clasificador.setParameters('debugFile=' + sys.argv[5]) clasificador.setDebug(True) start_time = time()
if __name__ == '__main__': if len(sys.argv) != 6: print "Error en la llamada. Se esperan los siguientes argumentos:" print "\t1.- Nombre del fichero con los datos del problema." print "\t2.- El porcentaje del conjunto de train. Expresar como un numero entre 0 y 1 utilizando el punto como divisor decimal." print "\t3.- La tasa de aprendizaje." print "\t4.- El numero de neuronas de la capa oculta." print "\t5.- El nombre del fichero donde debe escribirse el error cuadratico medio en cada epoca. Se borrara el fichero si ya existe." print "Ejemplo de llamada: python main.py xor.txt 1 0.1 2 xor_error.txt" sys.exit(-1) #random.seed(2) lector = LectorNeuro() instances = lector.leerFichero(sys.argv[1]) instances.normaliza() porcentajeParticionado = float(sys.argv[2]) particionado = DivisionPorcentual() particionado.setPorcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) """ print "Multilayer Perceptron Random" clasificador = RandomNeuralNetwork() clasificador.setParameters('nNeuronas=' + sys.argv[4]) clasificador.setParameters('alpha=' + sys.argv[3]) clasificador.setParameters('nEpocas=1000') clasificador.setParameters('debugFile=' + sys.argv[5]) clasificador.setDebug(False)
aciertosPorClase[clase] += 1 procentajeError = error / float(instances.getNumeroInstances()) print 'Error medio: ' + str(procentajeError) for clase in instances.getClases(): sumaAux = float(erroresPorClase[clase] + aciertosPorClase[clase]) print '\t' + clase + ': ' + str( erroresPorClase[clase]) + ' aciertos: ' + str( aciertosPorClase[clase]) + ' porcentaje: ' + str( erroresPorClase[clase] / sumaAux) """pruebas unitarias""" if __name__ == '__main__': lector = LectorNeuro() instances = lector.leerFichero('../data/xor_combinacion.txt') porcentajeParticionado = 1.0 particionado = DivisionPorcentual() particionado.setPortcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) print "Adaline" clasificador = Adaline() clasificador.setDebug(True) clasificador.buildClassifier(particion.getTrain()) print "Error TRAIN:" calculaError(clasificador, particion.getTrain()) if porcentajeParticionado != 1.0: print "Error TEST:" calculaError(clasificador, particion.getTest())
aciertosPorClase[clase] += 1 procentajeError = error / float(instances.getNumeroInstances()) print 'Error medio: ' + str(procentajeError) for clase in instances.getClases(): sumaAux = float(erroresPorClase[clase] + aciertosPorClase[clase]) print '\t' + clase + ': ' + str( erroresPorClase[clase]) + ' aciertos: ' + str( aciertosPorClase[clase]) + ' porcentaje: ' + str( erroresPorClase[clase] / sumaAux) """pruebas unitarias""" if __name__ == '__main__': lector = LectorNeuro() instances = lector.leerFichero('../data/problema_real2.txt') instancesSin = lector.leerFichero( '../data/problema_real2_no_etiquetados.txt') fPerceptron = open('../data/predicciones_perceptron.txt', 'w') fAdaline = open('../data/predicciones_adaline.txt', 'w') porcentajeParticionado = 0.7 particionado = DivisionPorcentual() particionado.setPortcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances) print "Adaline" clasificador = Adaline() clasificador.setDebug(True) clasificador.buildClassifier(particion.getTrain()) print "Error TRAIN:"
erroresPorClase[clase] += 1 error += 1.0 else: aciertosPorClase[clase] += 1 procentajeError = error / float(instances.getNumeroInstances()) print 'Error medio: ' + str(procentajeError) for clase in instances.getClases(): sumaAux = float(erroresPorClase[clase] + aciertosPorClase[clase]) print '\t'+ clase + ' fallos: ' + str(erroresPorClase[clase]) + ' aciertos: ' + str(aciertosPorClase[clase]) + ' porcentaje: ' + str(erroresPorClase[clase] / sumaAux) if __name__ == '__main__': lector = LectorNeuro() instances = lector.leerFichero('../data/problema_real1.txt') instances.normaliza() porcentajeParticionado = 0.8 particionado = DivisionPorcentual() particionado.setPorcentajeTrain(porcentajeParticionado) particion = particionado.generaParticionesProporcional(instances, True) #clasificador = KNN() clasificador = KNNGenetic() clasificador.buildClassifier(particion.getTrain()) print "err Entrenamiento" calculaError(clasificador, particion.getTrain())