Hallo Zahlenkollegen
Ich möchte n zufällige Bewertungen (zusammen mit einer Klassenbezeichnung) generieren, als ob sie von einem binären Klassifizierungsmodell erzeugt worden wären. Im Detail sind folgende Eigenschaften erforderlich:
- Jede Punktzahl liegt zwischen 0 und 1
- Jede Punktzahl ist mit einer binären Bezeichnung mit den Werten "0" oder "1" verknüpft (letztere ist eine positive Klasse).
- Die Gesamtgenauigkeit der Bewertungen sollte zB 0,1 betragen (<- Parameter des Generators).
- Das Bewertungsverhältnis mit der Bezeichnung "1" sollte im oberen Bereich höher als die Gesamtgenauigkeit und im unteren Bereich niedriger sein (<- die "Modellqualität" sollte auch ein Parameter des Generators sein).
- Die Bewertungen sollten so sein, dass eine resultierende Roc-Kurve glatt ist (und nicht z. B. dass eine Reihe von Bewertungen mit der Bezeichnung "1" oben und der Rest der Bewertungen mit der Bezeichnung "1" unten ist Die Liste).
Hat jemand eine Idee, wie man das angeht? Vielleicht durch Generieren einer Roc-Kurve und anschließendes Generieren der Punkte aus dieser Heilung? Danke im Voraus!
Antworten:
Einige Zeit ist vergangen und ich denke, ich könnte eine Lösung zur Hand haben. Ich werde meinen Ansatz kurz beschreiben, um Ihnen die allgemeine Idee zu geben. Der Code sollte ausreichen, um die Details herauszufinden. Ich mag es, hier Code anzuhängen, aber es ist viel und Stackexchange macht es nicht einfach, dies zu tun. Ich beantworte natürlich gerne Kommentare und freue mich über jede Kritik.
Den Code finden Sie unten.
Die Strategie:
Hier ist ein Beispiel für eine ROC-Kurve für AUC = 0,6 und Gesamtgenauigkeit = 0,1 (auch im folgenden Code).
Anmerkungen:
Code:
quelle