•  » Utilisation
  •  » Tri des photos les mieux notées

#1 2006-12-03 17:53:31

FreeBiker
Invité

Tri des photos les mieux notées

Bonjour

Dans le tri des photos les mieux notées, j'ai remarqué que les photos notées plusieurs fois 5, ne passent pas devant celles qui ne sont notées qu'une fois 5. Ce qui fait que le tri des photos les mieux notée ne change pas!

http://www.freebiker.net/php/gallery/

Ya pas moyen de modifier l'ordre de tri?

Merci

#2 2006-12-03 20:33:28

VDigital
Former Piwigo Team
Paris (FR)
2005-05-04
15124

Re: Tri des photos les mieux notées

C'est un sujet qui m'intéresse si quelqu'un a lu un article sur le sujet (le lien svp) exposant une méthode pour recalculer les notes.
Je serai assez partant pour étudier le sujet.
Car pour moi, un 5 d'il y a 2 ans vaut moins que celui d'il y a 5 jours.
un écart-type de 3.87 basé sur 6 notes vaut bien mieux un seul 5.

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#3 2006-12-03 23:23:32

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: Tri des photos les mieux notées

Pour moi c'est différent:
FreeBiker souhaite une pondération sur le nombre de notes, ce qui est assez simple, via un order by moyenne, count
Vincent, tu veux un écart-type sur la date. On la stocke vis-à-vis des notes depuis la 1.6 seulement... Et question:
Si un 5 d'hier vaut mieux qu'un 5 d'il y a 2 ans sur la même image( pourquoi???), est-ce qu'un 5 d'il ya deux ans, qui va se retrouver disons à 3 après pondéartion sur la date va être comparé à un 3 d'hier? Lequel a leplus de valeur? pourquoi?

Merci de tes précisions

Hors ligne

#4 2006-12-04 07:06:30

VDigital
Former Piwigo Team
Paris (FR)
2005-05-04
15124

Re: Tri des photos les mieux notées

Des exemples, des axes de réflexions uniquement.

Je n'ai pas chercher pour l'instant d'articles sur le sujet mais cela m'énerve de voir les 5 anciens et uniques me pourrir le classement.
8-)

Quand on saura comment classer, on verra la question des informations manquantes (il y en a peut être d'autres).
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#5 2006-12-04 07:26:53

rub
Équipe Piwigo
Lille
2005-08-26
5239

Re: Tri des photos les mieux notées

Amis mathématiciens, help!
Je penses qu'une aide de mathématiciens statisticiens serait le bienvenu...
Peut-être qu'une discussion avec un sujet plus racoleur pour les statisticiens serait utile?

Hors ligne

#6 2006-12-04 10:26:04

FreeBiker
Invité

Re: Tri des photos les mieux notées

mathiasm a écrit:

Pour moi c'est différent:
FreeBiker souhaite une pondération sur le nombre de notes, ce qui est assez simple, via un order by moyenne, count
Vincent, tu veux un écart-type sur la date. On la stocke vis-à-vis des notes depuis la 1.6 seulement... Et question:
Si un 5 d'hier vaut mieux qu'un 5 d'il y a 2 ans sur la même image( pourquoi???), est-ce qu'un 5 d'il ya deux ans, qui va se retrouver disons à 3 après pondéartion sur la date va être comparé à un 3 d'hier? Lequel a leplus de valeur? pourquoi?

Merci de tes précisions

C'est exactement ce que je voudrais faire!
Peut tu m'en dire un peu plus sur le "order by moyenne"
Quel est le fichier à modifier?

Merci ;)

#7 2006-12-04 15:50:21

VDigital
Former Piwigo Team
Paris (FR)
2005-05-04
15124

Re: Tri des photos les mieux notées

Sans statisticien, quelque chose du genre:

SELECT R.element_id, AVG( R.rate * ( (
TO_DAYS( R.date ) - TO_DAYS( DATE( I.date_available ) ) ) / ( TO_DAYS( CURDATE( ) ) - TO_DAYS( DATE( I.date_available ) ) ) )
) AS rate_bytime
FROM `phpwebgallery_rate` AS R
LEFT JOIN `phpwebgallery_images` AS I ON R.element_id = I.id
GROUP BY element_id
ORDER BY rate_bytime DESC
LIMIT 0 , 15

Avis?

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#8 2006-12-04 18:36:15

rub
Équipe Piwigo
Lille
2005-08-26
5239

Re: Tri des photos les mieux notées

VDigital a écrit:

Sans statisticien, quelque chose du genre:

En fait quand je parlais de statisticiens, c'était pour un topo/retour sur expérience des différentes moyennes possibles, ca peut être intéressant.
Mais, c'est vrai que c'est pas utile... pour PWG.

Hors ligne

#9 2006-12-04 19:16:21

VDigital
Former Piwigo Team
Paris (FR)
2005-05-04
15124

Re: Tri des photos les mieux notées

VDigital a écrit:

SELECT R.element_id, AVG( R.rate * ( (
TO_DAYS( R.date ) - TO_DAYS( DATE( I.date_available ) ) ) / ( TO_DAYS( CURDATE( ) ) - TO_DAYS( DATE( I.date_available ) ) ) )
) AS rate_bytime
FROM `phpwebgallery_rate` AS R
LEFT JOIN `phpwebgallery_images` AS I ON R.element_id = I.id
GROUP BY element_id
ORDER BY rate_bytime DESC
LIMIT 0 , 15

Si vimages gérait des notes... Ce n'est visiblement pas le cas, il n'utilise pas la notation, on lui demanderait bien combien "coûte" cette horreur.

Je ne connais guère que la galerie de Démo qui est très fréquement notée.
Peut-être que z0rglub ou mathiasm pouraient nous donner une indication de la durée de cette "horreur"...?

Cette petite étude m'a donné l'occasion de me rendre compte que coté admin » images » Notation devrait permettre des tris...
Des tris sur Nombre de notes ou Note moyenne ou Controverse ou encore Somme des notes
constitueraient sans doute un plus... (Je ne m'écarte pas du sujet sauf que cela mériterait d'être "discuté").

Si FreeBiker est d'accord, je déplacerai le sujet... (en laissant un lien).

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#10 2006-12-04 19:57:05

rvelices
Équipe Piwigo
2005-12-29
1415

Re: Tri des photos les mieux notées

Je pense que le probleme n'est pas tellement le cout de la requete, mais son integration.
Dans l'etat actuel il y a plusieurs types de requetes selon qu'on visualise une categorie/tag/calendrier/recherche/most visited etc ... A ce jour la condition pour l'ordre de tri est que les champs utilises pour le tri doivent faire partie de la table #images.

Hors ligne

#11 2006-12-05 00:50:29

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: Tri des photos les mieux notées

244 total, traitement: 0.0056 sec sans limite
rien de dramatique.

Hors ligne

#12 2006-12-05 01:59:23

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: Tri des photos les mieux notées

Pour freebiker,
dans include/section_init.inc.php, ligne 570 ~
Remplacer

Code:

SELECT DISTINCT(id)
  FROM '.IMAGES_TABLE.'
    INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
  WHERE average_rate IS NOT NULL
    AND '.$forbidden.'
    '.$conf['order_by'].'
  LIMIT 0, '.$conf['top_number'].'

par

Code:

SELECT DISTINCT(id), Count(element_id)
  FROM '.IMAGES_TABLE.'
    INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
    INNER JOIN '.RATE_TABLE.' AS ir ON id = ir.element_id
  WHERE average_rate IS NOT NULL
    AND ic.category_id NOT IN (13,23)
    GROUP BY element_id
    ORDER BY average_rate DESC, id ASC
  LIMIT 0, '.$conf['top_number'].'

J'ai testé la requête en clair et ça fonctionne. La mise en forme pour l'intégration dans le code php peut être à revoir (surtout à 2h du mat!).

A toute à l'heure, ce soir

Hors ligne

#13 2006-12-05 09:15:22

VDigital
Former Piwigo Team
Paris (FR)
2005-05-04
15124

Re: Tri des photos les mieux notées

mathiasm a écrit:

Code:

    AND ic.category_id NOT IN (13,23)

Doit être une erreur...
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#14 2006-12-05 10:35:35

FreeBiker
Membre
2006-12-05
34

Re: Tri des photos les mieux notées

Merci mathiasm !

J'ai placé le code, pas de message d'erreur mais pas de changement non plus :-)


www.freebiker.net
La passion de la mécanique moto

Hors ligne

#15 2006-12-05 10:41:23

FreeBiker
Membre
2006-12-05
34

Re: Tri des photos les mieux notées

VDigital a écrit:

Sans statisticien, quelque chose du genre:

SELECT R.element_id, AVG( R.rate * ( (
TO_DAYS( R.date ) - TO_DAYS( DATE( I.date_available ) ) ) / ( TO_DAYS( CURDATE( ) ) - TO_DAYS( DATE( I.date_available ) ) ) )
) AS rate_bytime
FROM `phpwebgallery_rate` AS R
LEFT JOIN `phpwebgallery_images` AS I ON R.element_id = I.id
GROUP BY element_id
ORDER BY rate_bytime DESC
LIMIT 0 , 15

Avis?

8-)

Par contre ici j'ai ce msg :

[mysql error 1064] You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '( I.date_available ) ) ) / ( TO_DAYS( CURDATE( ) ) - TO_DAYS( D


www.freebiker.net
La passion de la mécanique moto

Hors ligne

  •  » Utilisation
  •  » Tri des photos les mieux notées

Pied de page des forums

Propulsé par FluxBB