machine - En matlab prtools, ¿cómo configuro las etiquetas continuas?
statistics toolbox matlab download free (1)
Tengo un conjunto de datos con etiquetas y puntos de datos, el problema es que, en lugar de un problema de clasificación, quiero obtener un estimador de linair, por ejemplo:
dataset=prdataset([2,4,6,8]'',[1,2,3,4]'')
testset=prdataset([3,5,7,9]'')
classifier=dataset*ldc %should probably be changed?
result=testset*classifier
result.data
ahora se convierte
ans =
1.0e-307 *
0.2225 0.2225 0.2225 0.2225
0.2225 0.2225 0.2225 0.2225
0.2225 0.2225 0.2225 0.2225
0.2225 0.2225 0.2225 0.2225
lo cual está muy mal.
Lo ideal sería que [1.5,2.5,3.5,4.5]''
o algo así se le acercara. ¿Alguna idea de cómo hacer esto en PRtools o en algo simulair? Esta es una dependencia de linair, pero también me gustaría poder jugar con otros tipos de dependencias.
También sería una gran ventaja que el sistema fuera algo inteligente acerca de los valores de NaN que contaminan mucho mi conjunto de datos real.
Ya he encontrado esa clase de linearr, pero cuando la uso obtengo conjuntos de datos de tamaño extraño a cambio,
dataset=prdataset([2,4,6,8]'',[1,2,3,4]'')
testset=prdataset([3,5,7,9]'')
classifier=dataset*linearr%should probably be changed?
result=testset*classifier
me da los valores
0.1000 -0.3000 -0.7000 -1.1000
-0.5000 -0.5000 -0.5000 -0.5000
-1.1000 -0.7000 -0.3000 0.1000
-1.7000 -0.9000 -0.1000 0.7000
que es nuevamente incorrecto
En el chat, sugirieron usar. * En lugar de * que dio como resultado el uso de un error * Las dimensiones de la matriz interna deben estar de acuerdo.
Error in linearr (line 42)
beta = prinv(X''*X)*X''*gettargets(x);
Error in prmap (line 139)
[d, varargout{:}] = feval(mapp,a,pars{:});
Error in *
Error in dyadicm (line 81)
v1 = a*v1; % train first mapping
Error in prmap (line 139)
[d, varargout{:}] = feval(mapp,a,pars{:});
Error in *
En el código de linearr.
Para que quede claro, estoy buscando una forma de, dado un gran conjunto de valores, encontrar el conjunto de polinomios que mejor describa su relación (donde los polinomios que se consideran son un parámetro del programa, en el ejemplo 1er orden). Entonces, en nuestro ejemplo, el polinomio es 1 / 2a + 0. En mi versión final, quiero usar una mayor cantidad de parámetros (10-20) y puede requerir una estimación cuadrática.
Tal vez pueda usar una red neuronal (caja de herramientas de redes neuronales): https://es.mathworks.com/help/nnet/gs/fit-data-with-a-neural-network.html
Desde ese enlace:
Las redes neuronales son buenas para las funciones de adaptación. De hecho, hay pruebas de que una red neuronal bastante simple puede adaptarse a cualquier función práctica.
Supongamos, por ejemplo, que tiene datos de una aplicación de vivienda. Desea diseñar una red que pueda predecir el valor de una casa (en $ 1000), dada 13 piezas de información geográfica y de bienes raíces. Tiene un total de 506 hogares ejemplo para los cuales tiene esos 13 datos y sus valores de mercado asociados.
Puedes resolver este problema de dos maneras:
Use una interfaz gráfica de usuario, nftool, como se describe en Uso de la herramienta de adaptación de redes neuronales .
Use las funciones de la línea de comandos, como se describe en Uso de las funciones de la línea de comandos .