enregistrer plusieurs paramètres auprès d'un individu à l'aide de DEAP

Bruno

Je dois intégrer DEAP dans un cadre plus grand.

Pour les tests, j'ai défini:

from deap import base
from deap import creator
from deap import tools
from collections import *
import random

NAME = 0
TYPE = 1
INITIAL = 2
MIN = 3
MAX = 4
CATEGORY = 5

IND_SIZE = 1

Data = OrderedDict()
Data['P1'] = ['distance' , float, 8.     ,7.9    ,8.1  , [] ]
Data['P2'] = ['velocity' , float, 80.    ,79.7   ,83.3 , [] ]
Data['P3'] = ['rigid'    , int  , 0      ,0      ,1    , ['false','true'] ]

toolbox = base.Toolbox()

for Key in Data:
    if Data[Key][TYPE] is float:
        toolbox.register(Data[Key][NAME], random.uniform, Data[Key][MIN], Data[Key][MAX])
    if Data[Key][TYPE] is int:
        toolbox.register(Data[Key][NAME], random.randint, Data[Key][MIN], Data[Key][MAX])

AttrSet = (toolbox.distance, toolbox.velocity,  toolbox.rigid)
toolbox.register("individual", tools.initCycle, creator.individual, AttrSet, IND_SIZE)

Cela fonctionne comme prévu, mais si le framework fournit des données différentes, il len() AttrSetdoit également être modifié

Existe-t-il un moyen de créer à AttrSetpartir de données, par exemple dans la boucle où les paramètres sont enregistrés?

toolbox.register() renvoie toujours None, donc cela ne fonctionne pas.

Diego Miguel

Vous pouvez utiliser la fonction intégrée Python getattr, qui vous permet d'obtenir les attributs d'un objet par son nom.

Comme expliqué dans la documentation: getattr(x, 'foobar')équivaut à x.foobar.

Vous pouvez donc faire quelque chose comme:

toolbox = base.Toolbox()

AttrSet = []

for Key in Data:
    if Data[Key][TYPE] is float:
        toolbox.register(Data[Key][NAME], random.uniform, Data[Key][MIN], Data[Key][MAX])
    elif Data[Key][TYPE] is int:
        toolbox.register(Data[Key][NAME], random.randint, Data[Key][MIN], Data[Key][MAX])

    AttrSet.append(getattr(toolbox, Data[Key][NAME]))

toolbox.register("individual", tools.initCycle, creator.individual, AttrSet, IND_SIZE)

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Supprimer plusieurs objets de l'objet à l'aide d'un filtre à 2 paramètres (angulaire)

comment filtrer un tableau d'objets à l'aide de plusieurs paramètres

Comment supprimer les doublons d'un tableau avec plusieurs paramètres à l'aide de Javascript

Afficher l'individu avec plusieurs propriétés à l'aide de sparql

Existe-t-il un moyen de sélectionner plusieurs lignes à l'aide de paramètres?

Authentification auprès de plusieurs fournisseurs d'identité à l'aide de WSFederationAuthenticationModule pour asp.net

Comment INSÉRER plusieurs valeurs à l'aide de paramètres SANS déclarer un type de serveur SQL ?

Un moyen efficace d'enregistrer plusieurs rasters dans un seul fichier .pdf à l'aide de R

Existe-t-il un moyen d'enregistrer plusieurs espaces de noms à l'aide d'ElementTree

Publier des pactes auprès d'un courtier de pacte à l'aide du plugin Maven

Authentification auprès d'un cluster Hadoop activé Kerberos à l'aide de Java

Enregistrer un tiff de plusieurs pages à l'aide de PIL

Impossible d'enregistrer plusieurs modèles avec un seul formulaire à l'aide de fields_for

Impossible de s'authentifier auprès de l'API Doubleclick Bid Manager à l'aide d'un compte de service

comment s'authentifier auprès de l'API Oracle Cloud ipnetwork à l'aide d'un jeton d'authentification ?

Extraire plusieurs paramètres d'une chaîne à l'aide de Regex ou de Pandas

Définition d'un alias de type à l'aide de paramètres génériques imbriqués

Impossible d'ajouter plusieurs paramètres dans la condition If à l'aide de Gatling

Création d'un tableau 3D en C ++ à l'aide de paramètres passés

Comment passer des paramètres dans un tableau de fonctions à l'aide d'une série de promesses

Existe-t-il un moyen plus propre ou élégant de transmettre plusieurs paramètres à une procédure stockée SQL à l'aide d'Entity Framework?

Comment s'authentifier auprès de google-cloud-sdk à l'aide d'un compte utilisateur en mode non interactif

Angular 4/5 passant plusieurs paramètres non séquentiels à l'aide de router.navigate?

comment envoyer plusieurs paramètres à l'aide de MultipartUploadRequest

Rechercher sur Google Drive à l'aide de plusieurs paramètres

Multiplication matricielle à l'aide de plusieurs paramètres régionaux

Comment s'authentifier auprès de l'API Azure REST à l'aide d'un nom d'utilisateur et d'un mot de passe (sans ID d'application)

Comment enregistrer les données de plusieurs lignes d'un tableau html à l'aide de js angulaire

Comment vous authentifiez-vous auprès d'un serveur Active Directory à l'aide de Spring Security?

TOP liste

  1. 1

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  2. 2

    Javascript indiquant "impossible de définir la propriété 'innerHTML' sur null"

  3. 3

    Nextcloud avec Docker: impossible de créer ou d'écrire dans le répertoire de données

  4. 4

    La taille de la forme n'est pas égale à la taille de la cellule du tableau et ajuste le texte à l'intérieur de la forme

  5. 5

    Trouver l'intersection et l'union de deux rectangles

  6. 6

    Comment changer la couleur de la police dans R?

  7. 7

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  8. 8

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  9. 9

    Compter combien de fois un nombre apparaît dans un tableau aléatoire

  10. 10

    Pourquoi utiliser Asyncio ne réduit pas le temps d'exécution global en Python et n'exécute pas les fonctions simultanément?

  11. 11

    Comment convertir une chaîne en tuple en utilisant `reads`?

  12. 12

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

  13. 13

    comment afficher un bouton au-dessus d'un autre élément ?

  14. 14

    Création d'un nouvel objet d'une classe avec un nouveau nom en cliquant sur un bouton dans java swing

  15. 15

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  16. 16

    Restauration de la sauvegarde de la base de données SQL Server sur la version inférieure

  17. 17

    Créer un graphique à barres avec une fréquence relative / à partir d'un objet de table dans R

  18. 18

    Création d'un rappel python pour une fonction C à partir d'une DLL avec un tampon char.

  19. 19

    java.lang.NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode

  20. 20

    comment le contrôle de tableau javascript devrait-il être

  21. 21

    impossible d'ouvrir un nouvel onglet dans react, ajoute localhost: 3000 sur le lien?

chaudétiquette

Archive