IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

Calcul du Coef de Tanimoto [Python 3.X]


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Par défaut Calcul du Coef de Tanimoto
    Bonjour,

    j'ai parts de cette formule du coefficient de Tanimoto:
    Nom : TanimotoCoef-Formul.png
Affichages : 161
Taille : 6,9 Ko

    si, pour deux vecteurs A et B, je fais ce calcul en passant par les produits scalaires des ces différents vecteurs, du genre..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import numpy as np
     
    def tanimoto(vect_a, vect_b): 
      assert len(vect_a) == len(vect_b)
      scalar_ab = np.dot(vect_a, vect_b)
      T = scalar_ab / (np.dot(vect_a, vect_a) + np.dot(vect_b, vect_b) - scalar_ab)
      return T
    ..est ce correct comme approche?
    Merci
    Jma

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 869
    Par défaut
    Bonjour,

    Ça c'est la réponse en C, c'est à dire mathématiques, mais en python, ça peut donner cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def tanimoto(vect_a, vect_b):    
        assert len(vect_a) == len(vect_b)
        intersection = len(set(vect_a) & set(vect_b))
        union = len(set(vect_a) | set(vect_b))
     
        return intersection / union
    Documentation sur les objets set !

    Sinon avec numpy je pense,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import numpy as np
     
    def tanimoto(vect_a, vect_b):
        vect_a = np.array(vect_a[:])
        vect_b = np.array(vect_b[:])
     
        return np.dot(vect_a, vect_b) / (np.linalg.norm(vect_a) * np.linalg.norm(vect_b))
    devrait être pas loin...

  3. #3
    Membre actif
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Par défaut
    Parfait!
    Merci fred1599

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] calculer coef saisonnier
    Par HERBINE dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/10/2012, 19h24
  2. [AC-2010] Calcul champ avec Coef dans autre table
    Par Mathieu51 dans le forum Access
    Réponses: 4
    Dernier message: 12/09/2011, 18h14
  3. Calcul Coef niveau ETAM SYNTEC
    Par rootssam dans le forum Paie
    Réponses: 3
    Dernier message: 12/11/2010, 11h07
  4. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 05h09
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo