2016-04-10 4 views
-1

Wenn ich maschinelles Lernen sehe, speziell die Klassifikation, finde ich, dass einige Algorithmen entworfen sind, um zum Beispiel den Entscheidungsbaum zu klassifizieren, ohne die Betrachtung wie folgt zu klassifizieren:Gibt es einen Algorithmus, der bei der Auswahl einer speziellen Kategorie gut ist?

Für ein Zwei-Kategorien-Problem, Kategorie A und B, Leute sind an einem speziellen interessiert, zum Beispiel der Kategorie A. Für diesen Fall, nehmen wir an, dass wir 100 für A und 1000 für B haben. Eine gute Klassifikationsmethode kann ein Ergebnis haben, das 100A und 100B als Teil gemischt und vermißt hat 900B ein anderer Teil. Dies ist gut für die Klassifizierung. Aber gibt es einen Algorithmus, der zum Beispiel 50A und 5B zu einem Teil und 50A und 995B zu einem anderen Teil auswählen kann? Dies ist vielleicht nicht so gut wie eine Ansicht von Klassifizieren, aber wenn jemand an Kategorie A interessiert ist, denke ich, dass der nächste Algorithmus ein reineres A-Ergebnis geben kann, so dass es besser ist.

Kurz gesagt, es ist da ein Algorithmus kann eine spezielle Kategorie rein, nicht ohne Voreingenommenheit zu klassifizieren?

Wenn scikit-learn diesen Algorithmus enthalten hat, ist es besser.

+0

Ich verdrahtete das, warum einige Leute dagegen sind? Ist der englische Grund oder diese Frage zu langweilig? –

+0

die Frage überhaupt nicht verständlich ist – user2717954

+0

zum Beispiel, Entscheidungsbaum kann Entropie verwenden, um Daten zu klassifizieren, aber es ist nicht der Meinung, dass Menschen eine spezielle Kategorie bevorzugen können. Vielleicht möchte jemand nur einen guten Algorithmus, um diese Kategorie auszuwählen. Ist das klar? –

Antwort

0

Wenn ich Sie richtig verstehe, ich glaube, Sie für eine Maschine Lernalgorithmus sind gefragt, die ein höheres Gewicht auf bestimmte Klassen gibt und daher proportional eher diese „speziellen“ Klassen prognostizieren.

Wenn Sie das fragen, können Sie jeden Algorithmus verwenden, der während der Vorhersage eine Wahrscheinlichkeit für jede Klasse ausgibt. Ich denke, dass die meisten Algorithmen diesen Ansatz tatsächlich anwenden, aber ich weiß genau, dass neuronale Netze das tun. Dann können Sie entweder das Netzwerk proportional zu mehr Daten in den "speziellen" Klassen trainieren oder die Vorhersageausgabe (das Array von Wahrscheinlichkeiten jeder Klasse) manuell nachbearbeiten, um die Wahrscheinlichkeiten an Ihre Spezifikation anzupassen.

+0

Hallo, danke für die Antwort. Ich denke, "gib ein höheres Gewicht" ist verwirrt. Seit sampe_weight = sample_weight * class_weight (zumindest in scikit-learn ist es das). Ich denke, Ihr Weg versucht, das Gewicht der speziellen Proben zu erhöhen. Wenn Sie dies tun, können Ihre Zugdaten im Vergleich zu anderen Kategorien mehr spezielle Kategoriedaten aufweisen. Ich möchte den Anteil der Datennummern in verschiedenen Kategorien nicht ändern. –

+0

Vielleicht möchten Sie versuchen, ein konkreteres Beispiel hinzuzufügen. Es ist sehr schwer zu verstehen, was Sie erreichen wollen. Auf jeden Fall habe ich keine Erfahrung mit scikit-learn, also werde ich wahrscheinlich nicht in der Lage sein, irgendetwas zu diesem Tool zu helfen. – Aenimated1

Verwandte Themen