Skip to content

Questions about Trefle - HEIG Project in Fuzzy Logic #2

@Angorance

Description

@Angorance

Dans le cadre d'un projet de groupe en Logique Floue (LFA) à l'HEIG-VD, mon groupe doit analyser le concept "Evolutionary Fuzzy Modelling", voir qu'elles sont les possibilités pour y ajouter de l'apprentissage automatique, puis analyser le code de Trefle et essayer d'implémenter l'apprentissage.

Nous devons implémenter notre apprentissage dans la phase d'évaluation des individus.

Nous sommes actuellement dans la phase où nous analysons le code de Trefle et, à ce sujet, nous avons quelques questions.

En lisant le code et en analysant son comportement, nous sommes arrivés à la partie C++, au niveau du FISCocoEvalWrapper et du TrefleFIS. Si nous avons bien compris, lorsque dans la partie Python (NativeCocoEvaluator) on appelle predict_native, cela va appeler soit :

  • soit predict_c
  • soit predict_c_other

Qui elles vont appeler predict du FISCocoEvalWrapper. Dans cette dernière, on va donc extraire les règles et les variables linguistiques grâce aux méthodes appelées dans extract_fis et ensuite on va appeler predict du TrefleFIS cette fois. C'est à partir de là que nous ne comprenons pas, parce qu'on appelle encore un predict mais je ne sais pas de qui.

Donc en ce qui concerne les questions :

  1. Est-ce que nous avons bien compris la logique expliquée juste avant, ou nous avons faux ?
  2. Si c'est correct, quelle est cette dernière méthode predict appelée dans TrefleFIS::predict ?

M. Peña a laissé entendre qu'il existait des fonctions dans Trefle permettant l'identification de la règle ayant eu le plus d'incidence sur un score, ainsi que la variable linguistique concernée et son label. Comme nous n'avons pas pu déterminer exactement où est faites l'évaluation (question 2 sur le dernier predict), nous n'avons pas trouvé quoique ce soit qui y ressemble...

  1. Est-ce que de telles méthodes existent ? Et si oui, où se trouvent-elles ?

Ce sont un peu les questions que nous avons pour le moment et qui devraient nous permettre de poursuivre dans notre analyse. Merci d'avance pour vos réponses !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions