supervised-learning

___ answer18088148 ___

Der einfachste Ansatz besteht darin, ein sogenanntes "class weighting scheme" zu verwenden - in der klassischen SVM-Formulierung gibt es einen %code% -Parameter, der zur Steuerung der Fehlklassifizierungszählung verwendet wird. Er kann in die Parameter %code% und %code% geändert werden, die für Klasse 1 bzw. 2 verwendet werden. Die häufigste Wahl von %code% und %code% für eine gegebene %code% ist

%Vor%

wobei %code% und %code% Größen der Klasse 1 bzw. 2 sind. Sie "bestrafen" SVM für das Fehlklassifizieren der weniger häufigen Klasse viel schwieriger als für die Fehlklassifikation am häufigsten.

Viele vorhandene Bibliotheken (wie libSVM ) unterstützen diesen Mechanismus mit class_weight-Parametern.

Beispiel mit Python und sklearn

%Vor%

Insbesondere können Sie in sklearn einfach die automatische Gewichtung aktivieren, indem Sie %code% setzen.

    
___ answer30812471 ___

Dieser Artikel beschreibt eine Vielzahl von Techniken. Eine einfache (aber sehr schlechte Methode für SVM) besteht darin, nur die Minderheitenklasse (n) zu replizieren, bis Sie ein Gleichgewicht haben:

Ссылка

    
___ qstnhdr ___ Wie soll ich maschinellen Lernalgorithmus unterrichten, der Daten mit großen Unverhältnismäßigkeiten von Klassen verwendet? (SVM) ___ qstntxt ___

Ich versuche, meinen SVM-Algorithmus mit Daten von Klicks und Conversions von Leuten zu vermitteln, die die Banner sehen. Das Hauptproblem ist, dass die Klicks etwa 0,2% aller Daten ausmachen, also ist es ein großes Missverhältnis. Wenn ich einfache SVM in der Testphase benutze, wird immer nur die Klasse "view" vorhergesagt und niemals "click" oder "conversion". Im Durchschnitt gibt es 99,8% richtige Antworten (wegen Unverhältnismäßigkeit), aber es gibt 0% richtige Vorhersage, wenn Sie "Klick" oder "Umwandlung" überprüfen. Wie können Sie den SVM-Algorithmus abstimmen (oder einen anderen auswählen), um das Missverhältnis zu berücksichtigen?

    
___ tag123überwachtes Lernen ___ Überwachtes Lernen ist die maschinelle Lernaufgabe, eine Funktion aus markierten Trainingsdaten abzuleiten. Die Trainingsdaten bestehen aus einer Reihe von Trainingsbeispielen. Beim überwachten Lernen ist jedes Beispiel ein Paar, das aus einem Eingabeobjekt (typischerweise einem Vektor) und einem gewünschten Ausgabewert (auch als Überwachungssignal bezeichnet) besteht. Ein überwachter Lernalgorithmus analysiert die Trainingsdaten und erzeugt eine abgeleitete Funktion, die zur Abbildung neuer Beispiele verwendet werden kann. ___ tag123machineelearning ___ Implementierungsfragen zu Algorithmen des maschinellen Lernens. Allgemeine Fragen zum maschinellen Lernen sollten in ihren jeweiligen Communities veröffentlicht werden. ___ tag123svm ___ Support-Vektor-Maschinen (SVMs) sind eine Reihe von verwandten überwachten Lernmethoden, die Daten analysieren und Muster erkennen, die für die Klassifizierung und Regressionsanalyse verwendet werden. ___ tag123scikitlearn ___ scikit-learn ist eine Machine-Learning-Bibliothek für Python, die einfache und effiziente Werkzeuge für die Datenanalyse und das Data Mining bietet, wobei der Schwerpunkt auf maschinellem Lernen liegt. Es ist für jeden zugänglich und in verschiedenen Kontexten wiederverwendbar. Es basiert auf NumPy und SciPy. Das Projekt ist Open Source und kommerziell nutzbar (BSD-Lizenz). ___
3
Antworten

Überwachtes Lernen am Codierungsstil - Merkmalauswahl (Scikit Learn)

Ich untersuche, ob es möglich ist, die Bewertung von Studentencode basierend auf dem Codierungsstil zu automatisieren. Dies beinhaltet Dinge wie die Vermeidung von doppeltem Code, auskommentiertem Code, schlechter Benennung von Variablen und meh...
18.11.2013, 06:28
2
Antworten

Wie soll ich maschinellen Lernalgorithmus unterrichten, der Daten mit großen Unverhältnismäßigkeiten von Klassen verwendet? (SVM)

Ich versuche, meinen SVM-Algorithmus mit Daten von Klicks und Conversions von Leuten zu vermitteln, die die Banner sehen. Das Hauptproblem ist, dass die Klicks etwa 0,2% aller Daten ausmachen, also ist es ein großes Missverhältnis. Wenn ich einf...
06.08.2013, 10:49