AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ratings berechnen

Ein Thema von venice2 · begonnen am 22. Feb 2021 · letzter Beitrag vom 22. Feb 2021
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

Ratings berechnen

  Alt 22. Feb 2021, 07:19
Ich habe den Eindruck das bei meiner Berechnung irgend etwas nicht stimmig ist.

popularity: 46.253
vote_average: 6.9
vote_count: 9012

Meine Berechnung:
Delphi-Quellcode:
{$REGION 'ComputeStarRate'}

  function TTMDBInfo.ComputeStarRate: longint;
  var
    nRate: longint;
    rating: single;
  begin

    rating := gM.vote_average + (gM.popularity / 150.0);
    nRate := min(Max(round(rating * 15), 0), 150);
    result := nRate;
  end;
{$ENDREGION}
150 ist die weite des Bitmap meiner Sterne die ich als Rating benutze.

Müßte ich nicht eigentlich auch noch den Vote Count mit einbeziehen um einen korrekten wert zu ermitteln?
Bei IMDB sieht das mitunter auch unverständlich aus.

Das Rating bei diesen werten sieht so aus wie auf dem Anhang. Es sollte dabei ein arithmetischer Mittelwert herum kommen.
Was denkt ihr?

Geändert von venice2 (24. Feb 2021 um 02:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Ratings berechnen

  Alt 22. Feb 2021, 08:39
Kann sein, dass mir etwas Kontext fehlt, aber was möchtest du genau anzeigen? Oder anders herum: Was bedeutet
  • popularity (??)
  • vote_average (vermutlich der Mittelwert aller Bewertungen, aber wie ist der skaliert? 0 bis 10?)
  • vote_count (vermutlich Anzahl der Bewertungen)

Ohne weiteren Hintergrund würde ich popularity und vote_count ignorieren, und für das Sternchen-Rating den Originalwert von (im Beispiel) 6.9 auf 150 (Breite des Bildes) bzw. 5 (Anzahl der Sternchen im Bild) umskalieren ...
The angels have the phone box.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Ratings berechnen

  Alt 22. Feb 2021, 08:53
Wenn ich das richtig verstehe, willst du das durchschnittliche IMDB Rating (1 bis 10 Punkte) auf eine Progressbar ähnliche (!) Darstellung mit Sternen abbilden.

Wäre es dann nicht komplett ausreichend die durchschnittliche Bewertung durch 10 zu teilen und mit der Bitmapweite zu multiplizieren.
Dann runden, um den Wert in Pixeln zu ermitteln, mit dem du die Sterne gelb zeichnen musst.

Ausgefüllter_Bereich_Der_Sterne := Round(6,9 / 10 * 150); // ergibt 104

Delphi-Quellcode:
function TTMDBInfo.ComputeStarRate: longint;
const
  DEFAULT_BITMAP_WIDTH = 150.0;
begin
  Result := Round((gM.vote_average / 10) * DEFAULT_BITMAP_WIDTH);
end;
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
719 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Ratings berechnen

  Alt 22. Feb 2021, 10:22
In deiner angehängten Grafik sehe ich eine 5-Stern Grafik.

Eine solche 5 Stern Grafik habe ich auf der IMDB Seite noch nie gesehen.

Nimmst du eventuell einerseits Daten aus IMDB (6.9) und einer anderen Quelle (5 Stern Grafiken)?

IMDB vergibt 1-10 Sterne und zeigt in Grafiken auch entweder
- eine Zahl (Beispiel 6.9) und einen einzigen Stern an oder aber
- 10 Sterne an färbt in deinem Fall 6.9 der 10 Sterne gelb.
Zum Beispiel hier unterhalb des Casts.

Hast du die anderen Werte von google? Oder wo auf IMDB findet man diese?
Michael Gasser
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#5

AW: Ratings berechnen

  Alt 22. Feb 2021, 14:55
Zitat:
Hast du die anderen Werte von google? Oder wo auf IMDB findet man diese?
Zitat:
Bei IMDB sieht das mitunter auch unverständlich aus.
War ein Beispiel um zu ergründen wie die das berechnen.
Macht irgendwie jeder wie er will.

Meine Daten kommen von TMDB !

Geändert von venice2 (22. Feb 2021 um 14:59 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#6

AW: Ratings berechnen

  Alt 22. Feb 2021, 15:08
Wenn ich das richtig verstehe, willst du das durchschnittliche IMDB Rating (1 bis 10 Punkte) auf eine Progressbar ähnliche (!) Darstellung mit Sternen abbilden.

Wäre es dann nicht komplett ausreichend die durchschnittliche Bewertung durch 10 zu teilen und mit der Bitmapweite zu multiplizieren.
Dann runden, um den Wert in Pixeln zu ermitteln, mit dem du die Sterne gelb zeichnen musst.

Ausgefüllter_Bereich_Der_Sterne := Round(6,9 / 10 * 150); // ergibt 104

Delphi-Quellcode:
function TTMDBInfo.ComputeStarRate: longint;
const
  DEFAULT_BITMAP_WIDTH = 150.0;
begin
  Result := Round((gM.vote_average / 10) * DEFAULT_BITMAP_WIDTH);
end;
Danke denke werde es auf diese weise machen scheint mir genauer zu sein.
So wie @Gausi schon sagte habe ich ja schon den Durchschnittswert (Average) und muß diesen nicht nochmals berechnen.

EDIT:
Habe jetzt 10 Sterne addiert.. etwas wuchtig aber besser für die Übersicht.
Notfalls muß ich den Dialog noch etwas in der Breite verändern. Könnte für die Votes etwas knapp werden.

Geändert von venice2 (24. Feb 2021 um 02:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz