Example #1
0
		prediccion = clasificador.classifyInstance(instance)
		#print "clase: " + str(clase) + " prediccion: " + str(prediccion)

		if prediccion != clase:
			error += 1.0

	procentajeError = error / float(instances.getNumeroInstances())
	return procentajeError

if __name__ == '__main__':

	

	#random.seed(2)

	lector = LectorARFF()
	instances = lector.leerFichero("../data/entrenamiento.arff")
	instances.normaliza()
	
	porcentajeParticionado = float(0.50)
	particionado = DivisionPorcentual()
	particionado.setPorcentajeTrain(porcentajeParticionado)
	particion = particionado.generaParticionesProporcional(instances)
	
	
	print "Multilayer Perceptron"
	clasificador = RedNeuronalBlist()
	clasificador.setParameters('nNeuronas=' + str(50))
	clasificador.setParameters('alpha=' + str(0.01))
	clasificador.setParameters('nEpocas=500')
	clasificador.setDebug(False)
Example #2
0
import os, sys
lib_path = os.path.abspath('../')
sys.path.append(lib_path)

from Clasificadores.NaiveBayes import NaiveBayes
from Clasificadores.RedNeuronal import RedNeuronal
from Particionado.DivisionPorcentual import DivisionPorcentual
from Particionado.Particion import Particion
from RW.LectorARFF import LectorARFF
from Instance import Instance
from Instances import Instances
import json
"""pruebas unitarias"""
if __name__ == '__main__':
    lector = LectorARFF()
    instances = lector.leerFichero('test.arff')

    particionado = DivisionPorcentual()
    particionado.setPortcentajeTrain(0.7)
    particion = particionado.generaParticionesProporcional(instances)

    clasificador = RedNeuronal()
    clasificador.buildClassifier(particion.getTrain())

    error = 0
    erroresPorClase = {}
    aciertosPorClase = {}
    for clase in instances.getClases():
        erroresPorClase[clase] = 0
        aciertosPorClase[clase] = 0
		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 + ' fallos: ' + str(erroresPorClase[clase]) + ' aciertos: ' + str(aciertosPorClase[clase]) + ' porcentaje: ' + str(erroresPorClase[clase] / sumaAux)


if __name__ == '__main__':
	lector = LectorARFF()
	instances = lector.leerFichero("../data/spam.arff")
	instances.normaliza()

	porcentajeParticionado = float(0.66)
	particionado = DivisionPorcentual()
	particionado.setPorcentajeTrain(porcentajeParticionado)
	particion = particionado.generaParticionesProporcional(instances)

	print "Multilayer genetic"
	clasificador = GeneticECM()
	clasificador.buildClassifier(particion.getTrain())

	print "Error TRAIN:"
	calculaError(clasificador, particion.getTrain())
	if porcentajeParticionado != 1.0:
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 = LectorARFF()
	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 aleatorio"
	clasificador = RandomNeuralNetwork()
	clasificador.setParameters('nNeuronas=' + sys.argv[4])
	clasificador.setParameters('alpha=' + sys.argv[3])
	clasificador.setParameters('nEpocas=500')
	clasificador.setParameters('debugFile=' + sys.argv[5])