2016-05-22 9 views
0

Ich suchte und ich konnte nichts speziell auf mein Problem bezogen finden (oder konnte es nicht angemessen), so hier ist zu hoffen.Verteilen Prozent auf Artikel basierend auf Gewicht

Ich habe 100% auf einige variable Anzahl von Elementen für die UI-Präsentation zu verteilen - das heißt, ich werde sie nicht auswählen. Ich möchte die Möglichkeit haben, ein Gewicht anzugeben, das zum Beispiel angibt, dass item A doppelt so wichtig ist wie item B. Die Prozentsätze, die mich angingen würden, wenn dies die einzigen zwei Punkte wären, wären 67% und 33%. Wenn ich eine item C hinzufügen würde, die gleichwertig zu item B wäre, hätte ich 50%, 25%, 25%.

Die Frage ist sprachunabhängig, aber die Implementierungssprache ist C#, wenn das einen Unterschied macht.

Gibt es einen Algorithmus, der für diesen Zweck geeignet ist? Ich realisiere, dass ein discrete distribution für selection verwendet werden kann, aber da ich nur daran interessiert bin, Prozentsatz für die assoziierten Elemente für das Verständnis des Benutzers zu melden, mache ich das nicht. Ich bin daran interessiert, Gewichte zu setzen und Prozentsätze herauszuholen. Ich bin nicht vertraut mit etwas, das dies erlaubt.

+0

Behalten Sie einen Zähler aller Elemente (in einer Hash-Tabelle wie Datenstruktur) und die andere Variable 'total_number_of_items'. Die prozentuale Verteilung des Elements 'X' ist 'counter [X] * 100/total_number_of_items'. –

Antwort

1

Sie Prozentsatz mit dieser Formel berechnen: Prozentsatz = item wichtig/Gesamt Artikeln wichtig

1

Sie benötigen eine „Wichtigkeit“ Faktor für Ihren Artikel mit Werten angebracht haben, wie 1, 2, 4, so können Sie hinzufügen alle "importances" zusammen und teilen Sie das in 100, um Ihren Prozentsatz pro Wichtigkeit zu erhalten. Dann multiplizieren Sie den Prozentsatz für jedes Element, um das Verhältnis für jedes Element zu erhalten.

Also in Ihrem ersten Beispiel haben Sie die Bedeutungen von 1 und 2. Zusammen ergeben sie 3. 100%/3 ist 33,3%. Artikel A hat die Wichtigkeit 2, also ist der Prozentsatz 2 * 33,3 = 66,7%, während Artikel B die Wichtigkeit 1 hat. Der Prozentsatz ist also 1 * 33,3 = 33,3%

In Ihrem zweiten Beispiel haben Sie 1 Wichtigkeit von 2 und 2 von 1 insgesamt 4. 100%/4 = 25%. Geben Sie die Werte von 50%, 25% und 25% für die Positionen A, B und C.

Verwandte Themen