J'ai 4 régresseurs Sklearn différents et je veux utiliser un pourcentage de chaque prédiction pour construire ma prédiction finale.
Mon idée est de boucler à travers chaque version possible et de calculer le RMSE en utilisant un pourcentage de chaque prédiction que ma réponse, c'est-à-dire p> J'ai ci-dessous, mais je sais Il y a un moyen plus propre de le faire, où je peux aussi facilement ajouter plus de régresseurs si nécessaire ... mais je ne peux pas me faire tourner la tête? Je suis sûr que j'ai besoin d'une fonction récursive? Mais peut-être que je me trompe? P> Des idées / Aide Bienvenue? P> step = 0.05
for x in np.arange(0,1,step):
for y in np.arange(0,1,step):
for z in np.arange(0,1,step):
for p in np.arange(0,1,step):
if round(x,2)+round(y,2)+round(z,2)+round(p,2) == 1:
print(f"x = {round(x,2)} y = {round(y,2)} z = {round(z,2)} p = {round(p,2)}")
## RMSE calculation code goes, if best store X,Y,Z,P
3 Réponses :
Vous pouvez utiliser une fonction récursive, mais peut-être essayer itherTools.Production code> p>
Vous n'avez pas besoin de récursions en soi; Vous êtes intéressé par le produit em> des quatre gammes. from itertools import product
for x, y, z, p in product(np.arange(0,1,step), repeat=4):
...
... , répéter = ... code>? Schwweet. Je ne savais pas que c'était disponible
Je pense que vous voulez un produit cartésien, non? Vous pouvez donc utiliser itheroTools.Production code> a> comme ceci:
Plutôt que de s'appuyer sur les valeurs arrondies résumant exactement 1, vérifiez que la somme des valeurs non finies tombe dans un intervalle suffisamment petit, par exemple (0,99, 1.01).