Aller au contenu

Exercice de CCL : Python


angelV

Messages recommandés

Posté(e)

Bonjour,

Je viens de retravailler mes précédents scripts avec mon professeur et il m'a déjà ré-envoyé des exos ce matin...

Alors, j'ai remarqué que cet exercice était légèrement différent des exos précédant... Mais après plusieurs heures à chercher, je ne trouves toujours pas comment faire...

Pour cet exercice, je n'ai pour l'instant aucun début de script 

Je comprends ce qu'il faut faire mais je bloque sur le "comment"... ?

Serait-il possible de m'aider ?

Merci d'avance.

 

 

1.png

2.png

  • E-Bahut
Posté(e)

Bonjour,

J'ai regardé, ci-joint le script pour la question 7.

A noter que, comme je ne savais pas ce qu'on avait obtenu dans l'exercice 1, j'ai recréé la liste "iris" en supposant que les dimensions correspondent aux pétales, pas aux sépales.

Pour la suite, je n'ai pas compris ce qu'on entend par "classe".

kNN iris.py

 

  • E-Bahut
Posté(e)

Tu sais plus précisément ce que le script doit retourner dans la fonction "décision" ? D'après ce que j'ai vu, ça aurait un rapport avec le plus grand nombre d'éléments d'un même type au voisinage d'un élément donné. Si tu as la réponse...

Posté(e)

Alors je crois que la fonction "décision" doit permettre de savoir quelle est la classe la plus présente parmi les plus proches voisins donc soit versicolor, soit setosa, soit verginica...

Si parmi les k plus proches voisins il y a plus de setosa alors k sera classé comme setosa.

Enfin j'espère avoir bien compris ... ?

Je vais essayer tant bien que mal a faire cette fonction que je trouve pas difficile mais une fois de plus c'est le "comment" qui me perturbe ...

En attente de votre réponse !

Merci d'avance

  • E-Bahut
Posté(e)

Dans cette optique, j'avais pondu cela :

decision iris.py

A noter que mon script de la partie décision peut probablement être améliorée, mais je n'ai pas trouvé de démarche moins "bourrin". Pour voir, j'ai ajouté le compte de chacune des occurrences avant le classe, mais tu peux le supprimer.

Par contre, avec les valeurs données soit (2;0,5) et (2,5;0,75), on trouve toujours "setosa", mais si on regarde ce qu'on obtient avec le tracé (voir Fischer3.py), c'est logique, car on considère justement des points dans la zone correspondante. Pour avoir une autre classe, il faudrait, par exemple, considérer le couple (6,2).

Posté(e)

Bonsoir,

je vais retravailler et modifier ce script mais il est vrai que l'on trouve toujours setosa car les points sont bien dans cette zone...

Merci beaucoup.

  • E-Bahut
Posté(e)

Éventuellement, poste moi tes modifications, ça me permettra de voir les possibilités d'améliorations de ma version.

N.B. : Je n'ai que posté les scripts "bruts de décoffrage". Si tu as besoin d'explications complémentaires en ce qui concerne ma façon de procéder, n'hésite pas à demander.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...
spam filtering
spam filtering