Korrektur der eigenen Verdict-Auswertung: die Gewichtung ist NICHT invertiert
Der Anteil "ueber alle Zeilen" mischt Gewichtung und Haeufigkeit. Entscheidend
fuer "ist die Gewichtung kaputt?" ist der Anteil, WENN ein Modul spricht:
Welle 44,4 % · H1 39,3 % · Squeeze 37,3 % · M30 31,9 % · Elliott 26,2 % ·
KI 16,2 %
Die Welle dominiert also mit dem hoechsten Wert im Feld, genau wie entworfen -
ihre 3,8 % im Alltag sind schlicht die 91 % gewollte Stille der Gates. Meine
vorherige Formulierung ("Gewichtung invertiert") war zu scharf und ist
korrigiert.
Was bleibt: H1 und Elliott haben in beiden Spalten fast denselben Wert, weil sie
praktisch nie schweigen - ein permanenter Hintergrund von ~65 %, gegen den die
episodischen Module anschieben muessen. Elliott ist dabei ueber 1.163 Episoden
flach (49 % Treffer).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
45c3cec5b5
commit
71aec2e240
@@ -166,10 +166,33 @@ def main():
|
||||
ges += 1
|
||||
for name, w in w_row.items():
|
||||
summe[name] += w / s
|
||||
# ⚠ Zwei GRUNDVERSCHIEDENE Fragen, die leicht verwechselt werden:
|
||||
# (a) Anteil ueber ALLE Zeilen = wie stark praegt das Modul die Nadel im Alltag
|
||||
# (b) Anteil NUR wenn es spricht = ob die Nominal-Gewichtung tut, was sie soll
|
||||
# Ein Modul kann bei (a) winzig und bei (b) dominant sein — dann ist die
|
||||
# Gewichtung KORREKT und das Modul schlicht selten. Ohne (b) haelt man ein
|
||||
# gewolltes Schweigen faelschlich fuer eine Fehlgewichtung.
|
||||
bedingt = {n: [0.0, 0] for _, n, _ in _MODULE}
|
||||
for r in rows:
|
||||
w_row = {}
|
||||
for feld, name, gew in _MODULE:
|
||||
wfeld = feld + "_w"
|
||||
v = r[feld]
|
||||
v = 0 if v is None else int(v)
|
||||
w = (r[wfeld] or 0.0) if wfeld in r.keys() else (gew if v != 0 else 0.0)
|
||||
w_row[name] = w if v != 0 else 0.0
|
||||
s = sum(w_row.values())
|
||||
if s <= 0:
|
||||
continue
|
||||
for name, w in w_row.items():
|
||||
if w > 0:
|
||||
bedingt[name][0] += w / s
|
||||
bedingt[name][1] += 1
|
||||
print(f" {'Modul':<13}{'alle Zeilen':>12}{'wenn es spricht':>18}")
|
||||
for _, name, gew in _MODULE:
|
||||
a = 100.0 * summe[name] / max(1, ges)
|
||||
bar = "█" * int(round(a / 2))
|
||||
print(f" {name:<13}{a:>6.1f} % {bar}")
|
||||
b_ = (100.0 * bedingt[name][0] / bedingt[name][1]) if bedingt[name][1] else 0.0
|
||||
print(f" {name:<13}{a:>11.1f} %{b_:>17.1f} % " + "█" * int(round(b_ / 3)))
|
||||
print(f" (n={int(ges)} Zeilen mit mindestens einer Stimme)")
|
||||
|
||||
print()
|
||||
|
||||
Reference in New Issue
Block a user