Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 884

 
SanSanych Fomenko:

Entiendo la diferencia entre árboles y bosques (o creo que la entiendo) los bosques son mejores para usar cuando hay más incertidumbre en los datos, es decir, un patrón menos estable ya que los bosques toman decisiones por votación, cosa que hacen los árboles aleatorios (independientes debido al acortamiento), ¿o me equivoco?

No lo sé, estoy juzgando por los resultados.

Y la opción "adad" no la tengo, no está en la captura de pantalla, hay "Bosque" - esto no es?

En orden:


Árbol

El paquete 'rpart' proporciona la función'rpart'.


Impulsar

# Extreme Boost

# El paquete `xgboost' implementa el algoritmo de refuerzo de gradiente extremo.


SVM

# Máquina de vectores de apoyo.

# El paquete 'kernlab' proporciona la función 'ksvm'.


Lineal

# Modelo de regresión

# Construir un modelo de regresión.


Red neuronal

# Red neuronal

# Construir un modelo de red neuronal utilizando el paquete nnet.

library(nnet, quietly=TRUE)


Por cierto, he hecho este trabajo por ti - puedes verlo todo en Log tú mismo. Si tienes otra versión de rattle, la lista puede ser diferente.

Gracias por la transcripción. Tengo la versión 5.1.0 probablemente la más reciente - todos estos paquetes se instalan automáticamente cuando se llaman, y además hay "Forest".

SanSanych Fomenko:

La librería está modificada a mi pedido - necesitaba un probador de MT5. Hice la cuenta, demasiado perezoso para buscarla, podría haberla limpiado.

Echa un vistazo a los artículosde Vladimir Perervenko

Si te interesan las redes, es lo último en esta área, R, asesores, el hombre está disponible en el sitio

Gracias, echaré un vistazo.

 
SanSanych Fomenko:


Entonces, ¿cómo se corta un archivo con R, es necesario utilizar un algoritmo especial? Es interesante ver lo que ocurre al final.

Por índice, por ejemplo: [1:2000,], [2001:4000,]. Es importante mantener la secuencia temporal natural en el segundo archivo

En otras palabras, se puede cortar en Excel, ¿no?

 
Maxim Dmitrievsky:

Pruébalo como quieras :) Lo principal es no olvidarse de leer la teoría, para no hacer una tontería, y no es difícil usar cualquier paquete, hay muchos, e incluso online - no necesitas instalar nada. Hay un boom de datasens, "eso" está en todas partes

No tengo tiempo para analizar archivos, estoy trabajando en mis propias cosas

La cuestión es que diferentes variantes dan resultados distintos, y si es así, ¿cómo se puede concluir sobre la calidad de los predictores? Sólo resulta que es necesario tomar la versión media, es decir, si en todas partes no es malo, entonces bien, y luego afinar la red / árbol / bosque?

Y aún así, me gustaría saber cómo transferir la lógica del árbol a Expert Advisor...

 
Aleksey Vyazmikin:

Así que también se puede cortar en Excel, ¿verdad?

No hay necesidad de Excel. Una línea, eso es todo.

Lea Robert I. Kabakov R en acción. Análisis y visualización de datos en el lenguaje R. Está disponible en Internet.

 
Yuriy Asaulenko:

No hay necesidad de Excel. 1 línea y ya está.

Leer - Robert I. Kabakov R en acción. Análisis y visualización de datos en el lenguaje R. Está disponible en Internet.

Puede que no lo sepa todo - no tengo el propósito de aprender a programar en R, necesito la posibilidad de comprobar los predictores y convertir el conjunto de reglas en MT5. En general, si se trata de una cadena, ¿por qué no escribirla por ti? Por ahora he utilizado los medios disponibles.

 
SanSanych Fomenko:


Su imagen de cascabel está incompleta. Como mínimo deberías ir a la pestaña adyacente de evaluación y ver los resultados allí.

Pero lo más importante es dividir el archivo fuente en dos partes con nombres diferentes (lo más probable es que tengas que hacerlo en R).

En el primer archivo se construyen TODOS los seis modelos y se mira su prueba de estimación, se valida. Luego se escribe el nombre del segundo archivo en el campo R Dataset. Y en él se vuelven a poner marcas. Todas las estimaciones deben coincidir aproximadamente.

Si estas estimaciones no coinciden, y el segundo archivo muestra peores resultados de los modelos, significa que los modelos están sobreentrenados y la razón de ello son los predictores de ruido (no relacionados con la variable objetivo).


Este es el momento de la verdad: o se tiene un conjunto de predictores relevantes para una determinada variable objetivo o no se tiene. Y ningún modelo puede arreglar esta desafortunada circunstancia. Entonces comienza el trabajo tonto de encontrar un par de "predictores-objetivo", los modelos no son nada interesantes, encontrarás un par, entonces los modelos son sólo semillas en R, encontrarás una docena de ellos en un día y harás conjuntos con ellos.

Le pediré que lo explique con más detalle.

1. En la pestaña "Evaluar", ¿qué parámetro elegir en el conjunto "Tipo"?

2. ¿Qué debo hacer para poder introducir el nombre de un segundo archivo? Mi ventana está activa, pero no puedo seleccionar un archivo. Y "Archivo CSV", ¿por qué puedo elegir ahí?


 
Aleksey Vyazmikin:

Esa es la cuestión: diferentes variantes dan resultados diferentes, y si ese es el caso, ¿cómo podemos concluir sobre la calidad de los predictores? ¿Se trata simplemente de tomar la variante media, es decir, si no está mal en todas partes, entonces está bien, y luego ajustar la red/árbol/bosque?

Y aún así, quiero saber cómo transferir la lógica del árbol al Asesor Experto...

¿Por qué? mt5 tiene un bosque aleatorio, puedes adaptarlo a tus necesidades. Observa los errores y ponle ejemplos de prueba, observa los resultados. Lo único es que no da salida a las variables

Pero si consideras que los algoritmos son los mismos en todas partes, puedes visualizar y experimentar en R, luego entrenarlo y usar MT.

 
Aleksey Vyazmikin:

De todos modos, si es una línea, ¿por qué no te la escribes? Bueno, mientras tanto, me las he arreglado con los medios que tengo a mano.

Bueno, yo no pregunté, tú lo hiciste). No lo necesito).

Y si trabajas con R, puede que tengas que hacerlo.

 
Aleksey Vyazmikin:

Le pido que lo explique con más detalle.

1. En la pestaña "Evaluar", ¿qué parámetro debo seleccionar en el conjunto "Tipo"?

2. ¿Qué debo hacer para poder introducir el nombre del segundo archivo? Mi ventana está activa, pero no puedo seleccionar un archivo. Y "Archivo CSV", ¿por qué puedo elegir ahí?


1. cualquiera. Es un modelo de evaluación diferente y cada uno tiene un significado diferente. Rattle es bueno precisamente porque proporciona al principiante un conocimiento sistemático del aprendizaje automático: preparación de los datos de entrada, modelización, estimación del modelo. Sólo habiendo dominado al menos en un nivel primitivo las TRES partes, tiene sentido pasar de jugar con los números a cosas más significativas.

2. R Dataset es un archivo r. Significa, que en la pestaña de Datos los datos iniciales fueron cargados como Archivo RData - es un espacio de trabajo en términos de R. En este espacio de trabajo se prepararon dos marcos de datos: uno para entrenar y probar el modelo, y el otro como este mismo conjunto de datos de R.

La forma más sencilla de hacerlo es cargar un archivo de Excel ya preparado, descargar el registro, salir a R y dividir en dos el marco de datos que se obtiene allí.

Alternativamente.

Abra el propio R y allí descargue el archivo excel - esto es una línea. Luego divide el marco de datos en dos.

Pero hay que utilizar el segundo archivo del modelo entrenado.

 
Maxim Dmitrievsky:

¿Por qué? mt5 tiene un bosque aleatorio, puede adaptarlo a sus necesidades

O, teniendo en cuenta que los algoritmos son los mismos en todas partes, puedes visualizar y experimentar en R, y luego entrenar y utilizar en MT

El programa "Deductor Studio" muestra todo visualmente bien, es decir, el árbol, las reglas; no veo eso en R todavía, y no habrá en MT5 (es decir, todo se puede hacer, pero tengo que pagar por ello...). Entonces, ¿resulta que debo utilizar la biblioteca algib para incluir los bosques aleatorios en MT5?

He encontrado un trozo de código del algoritmoC4.5 http://datascientist.one/algorithm-c4-5/ en R, ¿es muy difícil de implementar en MT5?

C45 <- function(data,x){
   result.tree <- NULL
   if ( IsEmpty(data) ) {
                node.value <- "Failure"
                result.tree <- CreateNode(node.value)
                return(result.tree)
        }
         if( IsEmpty(x) ){
                node.value <- GetMajorityClassValue(data,x)
                result.tree <- CreateNode(node.value)
                return(result.tree)
        }
         if( 1 == GetCount(x) ){
                node.value <- GetClassValue(x)
                result.tree <- CreateNode(node.value)
                return(result.tree)
        } <br>

       gain.ratio <- GetGainRatio(data,x)<br>
     best.split <- GetBestSplit(data,x,gain.ratio)

     data.subsets <- SplitData(data,best.split)
     values <- GetAttributeValues(data.subsets,best.split)
     values.count <- GetCount(values)

     node.value <- best.split
    result.tree <- CreateNode(node.value)
         idx <- 0
    while( idx<=values.count ){
        i       dx <- idx+1
                newdata <- GetAt(data.subsets,idx)
                value <- GetAt(values,idx)
                new.x <- RemoveAttribute(x,best.split)
                new.child <- C45(newdata,new.x)
                AddChildNode(result.tree,new.child,value)
   }

    result.tree
        }
Алгоритм C4.5
Алгоритм C4.5
  • 2016.05.06
  • datascientist.one
Алгоритм C4.5 строит классификатор в форме дерева решений. Чтобы сделать это, ему нужно передать набор уже классифицированных данных. А что такое классификатор? Классификатор – это инструмент, применяемый в data mining, который использует классифицированные данные и на их основании пытается предсказать, к какому классу стоит отнести новые...