Je ne sais pas comment il compte, le mien compte le pourcentage d'options de non-guessing. Par exemple sur cette variante il y avait 1000 entrées dont 600 travaillaient dans le plus (j'ai deviné) 400 travaillaient dans le rouge (j'ai deviné). Donc l'erreur est le nombre d'options non devinées par rapport à toutes les variantes, dans cet exemple, erreur = 400/1000 = 0.4
Andrey Kisselyov: Je ne sais pas comment cela fonctionne pour quelqu'un d'autre mais pour moi, cela compte le pourcentage de variantes non chanceuses. Par exemple, sur cette variante, il y avait 1000 entrées dont 600 fonctionnaient dans le plus (j'ai deviné) et 400 dans le rouge (je n'ai pas deviné). L'erreur est donc le nombre de variantes non devinées par rapport à toutes les variantes, dans cet exemple, l'erreur = 400/1000 = 0.4
Respectueusement.
Ici, je comprends que l'erreur finale est divisée par le nombre d'échantillons multiplié par le nombre d'entrées pour une raison quelconque, si vous le supprimez :
return(result/(npoints*df.m_nclasses));
Si vous le multipliez, vous obtenez un résultat assez intelligible, par exemple 0,5578064232767638 :)
Ici, je comprends que l'erreur finale est divisée par le nombre d'échantillons multiplié par le nombre d'entrées pour une raison quelconque, si vous le supprimez :
Si vous le multipliez alors le résultat est assez clair, par exemple 0.5578064232767638 :)
le plus probable
return(result/(npoints*df.m_nclasses));
signifie _Point(s) comme des points supposés de ... ou vice versa.
Andrey Kisselyov: le plus probable Signifie _Point(s) comme les points devinés de ... ou vice versa.
Meilleures salutations.
Non, ici npoints signifie la longueur du vecteur d'entrée :)
Alors que nclasses est le nombre de sorties, comment
//+------------------------------------------------------------------+//| This subroutine builds random decision forest. |//| INPUT PARAMETERS: |//| XY - training set |//| NPoints - training set size, NPoints>=1 |//| NVars - number of independent variables, NVars>=1 |//| NClasses - task type: |//| * NClasses=1 - regression task with one |//| dependent variable |//| * NClasses>1 - classification task with |//| NClasses classes. |//| NTrees - number of trees in a forest, NTrees>=1. |//| recommended values: 50-100. |//| R - percent of a training set used to build |//| individual trees. 0<R<=1. |//| recommended values: 0.1 <= R <= 0.66. |//| OUTPUT PARAMETERS: |//| Info - return code: |//| * -2, if there is a point with class number |//| outside of [0..NClasses-1]. |//| * -1, if incorrect parameters was passed |//| (NPoints<1, NVars<1, NClasses<1, |//| NTrees<1, R<=0 or R>1). |//| * 1, if task has been solved |//| DF - model built |//| Rep - training report, contains error on a training|//| set and out-of-bag estimates of |//| generalization error. |//+------------------------------------------------------------------+staticvoid CDForest::DFBuildRandomDecisionForest(CMatrixDouble &xy,
constint npoints,
constint nvars,
constint nclasses,
constint ntrees,
constdouble r,int &info,
CDecisionForest &df,
CDFReport &rep)
Ainsi, l'erreur finale doit être multipliée par la longueur de l'échantillon d'entraînement multiplié par le nombre de sorties (si 1, alors les sorties doivent être omises).
Peut être utile pour quelqu'un
J'espère que je n'ai rien mélangé et que je l'ai fait correctement :) au moins les valeurs d'erreur sont claires.
Andrey Kisselyov: Si c'est le cas, alors je dois voir ce qu'est rezult, puisque le diviseur est le paramètre d'entrée.
Avec respect.
En bref, c'est juste une erreur moyenne sur tous les échantillons, et nous n'en avons pas besoin... rezult renvoie juste l'erreur totale, puis elle est divisée par le nombre d'exemples dans l'échantillon (ceci peut être supprimé).
En bref, il s'agit juste d'une erreur moyenne sur tous les échantillons, et vous n'en avez pas besoin... rezult renvoie uniquement l'erreur totale, qui est ensuite divisée par le nombre d'exemples de l'échantillon.
Vous devez donc le ramener à la normale, ce que vous avez fait en le multipliant par le diviseur.
Т.е. итоговую ошибку нужно домножить на длину обучающей выборки умноженную на кол-во выходов (если 1 то выходы опускаем)
En théorie, il devrait y avoir peu d'erreurs dans lesforêts aléatoires, car toutes les variables sont utilisées dans les arbres de décision et il n'y a pas de restriction sur l'utilisation de la mémoire comme dans les réseaux neuronaux - le nombre de neurones. Là, vous ne pouvez utiliser que des opérations distinctes pour "brouiller" le résultat, comme la restriction de niveau, l'élagage des arbres ou le backgammon. Je ne sais pas s'il y a un élagage dans l'implémentation MQ d'alglib, il y a un étiquetage...
// R - percent of a training set used to build |
//| individual trees. 0<R<=1. |//| recommended values: 0.1 <= R <= 0.66.
Si cette variable est inférieure à 1, l'erreur devrait augmenter.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Par exemple sur cette variante il y avait 1000 entrées dont 600 travaillaient dans le plus (j'ai deviné) 400 travaillaient dans le rouge (j'ai deviné). Donc l'erreur est le nombre d'options non devinées par rapport à toutes les variantes, dans cet exemple, erreur = 400/1000 = 0.4
Respectueusement.
Je ne sais pas comment cela fonctionne pour quelqu'un d'autre mais pour moi, cela compte le pourcentage de variantes non chanceuses.
Par exemple, sur cette variante, il y avait 1000 entrées dont 600 fonctionnaient dans le plus (j'ai deviné) et 400 dans le rouge (je n'ai pas deviné). L'erreur est donc le nombre de variantes non devinées par rapport à toutes les variantes, dans cet exemple, l'erreur = 400/1000 = 0.4
Respectueusement.
Ici, je comprends que l'erreur finale est divisée par le nombre d'échantillons multiplié par le nombre d'entrées pour une raison quelconque, si vous le supprimez :
return(result/(npoints*df.m_nclasses));Si vous le multipliez, vous obtenez un résultat assez intelligible, par exemple 0,5578064232767638 :)
Ici, je comprends que l'erreur finale est divisée par le nombre d'échantillons multiplié par le nombre d'entrées pour une raison quelconque, si vous le supprimez :
Si vous le multipliez alors le résultat est assez clair, par exemple 0.5578064232767638 :)
signifie _Point(s) comme des points supposés de ... ou vice versa.
Regards.
le plus probable
Signifie _Point(s) comme les points devinés de ... ou vice versa.
Meilleures salutations.
Non, ici npoints signifie la longueur du vecteur d'entrée :)
Alors que nclasses est le nombre de sorties, comment
Ainsi, l'erreur finale doit être multipliée par la longueur de l'échantillon d'entraînement multiplié par le nombre de sorties (si 1, alors les sorties doivent être omises).
Peut être utile pour quelqu'un
J'espère que je n'ai rien mélangé et que je l'ai fait correctement :) au moins les valeurs d'erreur sont claires.Non, ici npoints signifie la longueur du vecteur d'entrée :)
Avec respect.
Si c'est le cas, alors je dois voir ce qu'est rezult, puisque le diviseur est le paramètre d'entrée.
Avec respect.
En bref, c'est juste une erreur moyenne sur tous les échantillons, et nous n'en avons pas besoin... rezult renvoie juste l'erreur totale, puis elle est divisée par le nombre d'exemples dans l'échantillon (ceci peut être supprimé).
En bref, il s'agit juste d'une erreur moyenne sur tous les échantillons, et vous n'en avez pas besoin... rezult renvoie uniquement l'erreur totale, qui est ensuite divisée par le nombre d'exemples de l'échantillon.
Vous devez donc le ramener à la normale, ce que vous avez fait en le multipliant par le diviseur.
Т.е. итоговую ошибку нужно домножить на длину обучающей выборки умноженную на кол-во выходов (если 1 то выходы опускаем)Avec respect.
Il faut donc la ramener à la normale, ce que vous avez fait en la multipliant par le diviseur.
Avec respect.
C'est le sentiment de peaufiner quelque chose et de se réjouir ensuite comme un enfant :)
Le sentiment quand vous peaufinez quelque chose et que vous vous réjouissez comme un enfant :)
Sincèrement.
En théorie, il devrait y avoir peu d'erreurs dans lesforêts aléatoires, car toutes les variables sont utilisées dans les arbres de décision et il n'y a pas de restriction sur l'utilisation de la mémoire comme dans les réseaux neuronaux - le nombre de neurones. Là, vous ne pouvez utiliser que des opérations distinctes pour "brouiller" le résultat, comme la restriction de niveau, l'élagage des arbres ou le backgammon. Je ne sais pas s'il y a un élagage dans l'implémentation MQ d'alglib, il y a un étiquetage...
Si cette variable est inférieure à 1, l'erreur devrait augmenter.