Discussion de l'article "Python, ONNX et MetaTrader 5 : Création d'un modèle RandomForest avec RobustScaler et PolynomialFeatures pour le pré-traitement des données"
future_pr = dataset['<CLOSE>'].iloc[i + rand] devrait être : Sinon, vous obtiendrez une erreur :
Une référence de colonne incorrecte dans votre fonction labelling_relabeling_regression. J'ai continué à obtenir des erreurs parce que vous essayez d'accéder à la colonne '<CLOSE>' dans votre jeu de données, mais pandas est incapable de la trouver parce que le nom correct de la colonne est 'close', et non '<CLOSE>'. La sensibilité à la casse et les crochets d'angle supplémentaires font que pandas lance une KeyError .
Il s'agit d'une erreur très simple, mais quelqu'un d'autre pourrait s'y perdre et abandonner.
Puisque le reste de votre code utilise <CLOSE> ... il est probablement préférable d'ajouter une ligne comme :
dataset = dataset.rename(columns={'close': '<CLOSE>'})
J'ai trouvé un bug dans le code :
devrait être :
Sinon, vous obtiendrez une erreur :
Mauvaise référence de colonne dans votre fonction labelling_relabelling_regression. J'ai continué à obtenir des erreurs parce que vous essayez d'accéder à la colonne '<CLOSE>' dans votre jeu de données, mais pandas ne peut pas la trouver parce que le nom correct de la colonne est 'close', et non '<CLOSE>'. En raison de la sensibilité à la casse et des crochets d'angle supplémentaires, pandas lance une KeyError.
Il s'agit d'une erreur très simple, mais quelqu'un d'autre pourrait s'y perdre et abandonner.
Puisque le reste de votre code utilise <CLOSE> ... il est probablement préférable d'ajouter une ligne telle que :
dataset = dataset.rename(columns={'close': '<CLOSE>'})
Merci beaucoup, je vais jeter un coup d'oeil, je l'ai peut-être manqué en éditant le code !(
Pas de problème, monsieur. Une autre recommandation - pour les personnes qui n'utilisent pas google colab et qui travaillent sur leur propre machine ou sur AWS ou autre, ils n'ont pas besoin d'importer gdown
à la place, utilisez ce qui suit :
Premièrement :
Deuxièmement :
remplacer la section suivante
# Save the pipeline
joblib.dump(pipeline, 'rf_pipeline.joblib')
# Convert pipeline to ONNX
onnx_model = convert_sklearn(pipeline, initial_types=initial_type)
# Save the model in ONNX format
model_onnx_path = "rf_pipeline.onnx"
onnx.save_model(onnx_model, model_onnx_path)
# Save the model in ONNX format
model_onnx_path = "rf_pipeline.onnx"
onnx.save_model(onnx_model, model_onnx_path)
# Connect Google Drive (if you work in Colab and this is necessary)
from google.colab import drive
drive.mount('/content/drive')
# Specify the path to Google Drive where you want to move the model
drive_path = '/content/drive/My Drive/' # Make sure the path is correct
rf_pipeline_onnx_drive_path = os.path.join(drive_path, 'rf_pipeline.onnx')
# Move ONNX model to Google Drive
shutil.move(model_onnx_path, rf_pipeline_onnx_drive_path)
print('The rf_pipeline model is saved in the ONNX format on Google Drive:', rf_pipeline_onnx_drive_path) par :
print(f'Le modèle rf_pipeline au format ONNX est sauvegardé localement à l'adresse suivante : {local_onnx_path} ') {local_onnx_path}')
le modèle sera stocké dans un sous-dossier appelé /model sub-directory. Cela permettra également de stocker votre modèle en tant que fichier jplotlib, au cas où vous en auriez besoin lors de l'exécution. En outre, les deux modèles peuvent être exécutés directement à partir de python pour obtenir des prédictions.
Pas de problème. Une autre recommandation est pour ceux qui n'utilisent pas google colab et qui se contentent d'exécuter sur leur machine ou sur AWS, ils n'ont pas besoin d'importer gdown.
Au lieu de cela, utilisez ce qui suit :
Premièrement :
.
Deuxièmement :
remplacer la section suivante
par :
print(f'Le modèle rf_pipeline au format ONNX est enregistré localement à l'adresse : {local_onnx_path}')
Le modèle sera stocké dans le sous-répertoire /model. C'est également là que le modèle sera stocké en tant que fichier jplotlib, au cas où vous en auriez besoin au moment de l'exécution. De plus, les deux modèles peuvent être exécutés directement à partir de python pour obtenir des prédictions.
Corrigé, envoyer la version du fichier du tutoriel au modérateur pour approbation.
Oui, je n'ai pas encore abordé l'apprentissage par renforcement))))))
Pourquoi le gradient bousting n'a-t-il pas été utilisé comme algorithme plus récent (puisque vous vous plaignez que la forêt aléatoire est déjà ancienne) ? Est-ce que cela s'est produit par hasard ou y avait-il une raison ? Je pense qu'il y a du gradient bousting dans Sklearn.
Pourquoi le gradient bousting n'a-t-il pas été utilisé comme algorithme plus récent (puisque vous vous plaignez que la forêt aléatoire est déjà ancienne) ? Est-ce que cela s'est produit par hasard ou y avait-il une raison ? Je pense qu'il y a du gradient bousting dans Sklearn.
C'est juste que la forêt a été choisie comme un exemple simple (Boosting dans le prochain article, maintenant je le fais un peu).
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Python, ONNX et MetaTrader 5 : Création d'un modèle RandomForest avec RobustScaler et PolynomialFeatures pour le pré-traitement des données a été publié :
Random Forest est un outil puissant dans la boîte à outils de l'apprentissage automatique. Pour mieux comprendre son fonctionnement, imaginons un immense groupe de personnes se réunissant et prenant des décisions collectives. Mais au lieu de personnes réelles, chaque membre de ce groupe est un classificateur indépendant ou un prédicteur de la situation actuelle. Au sein de ce groupe, une personne est un arbre de décision capable de prendre des décisions sur la base de certains attributs. Lorsque la forêt aléatoire prend une décision, elle utilise la démocratie et le vote : chaque arbre exprime son opinion et la décision est prise sur la base de votes multiples.
Random Forest est largement utilisé dans une variété de domaines, et sa flexibilité le rend adapté à la fois aux problèmes de classification et de régression. Dans une tâche de classification, le modèle décide à quelle classe prédéfinie appartient l'état actuel. Par exemple, sur le marché financier, il peut s'agir d'une décision d'achat (classe 1) ou de vente (classe 0) d'un actif sur la base d'une série d'indicateurs.
Toutefois, dans cet article, nous nous concentrerons sur les problèmes de régression. La régression dans l'apprentissage automatique est une tentative de prédire les valeurs numériques futures d'une série temporelle sur la base de ses valeurs passées. Au lieu de la classification, qui consiste à classer les objets dans certaines catégories, la régression vise à prédire des nombres spécifiques. Il peut s'agir, par exemple, de prévoir le cours des actions, la température ou toute autre variable numérique.
Auteur : Yevgeniy Koshtenko