Ich versuche zu verstehen, wie Perceptron von sklearn.linear_model fit() Funktion führt (Documentation). Frage kommt aus diesem Stück Code:sklearn Perceptron lernen
clf = Perceptron()
clf.fit(train_data, train_answers)
print('accuracy:', clf.score(train_data, train_answers))
accuracy: 0.7
Ich dachte Ziel der Armatur ist Klassifizierungsfunktion zu schaffen, die Antwort mit 100% Genauigkeit auf Testdaten geben, aber in dem obigen Beispiel gibt es nur 70%. Ich habe einen weiteren Datensatz ausprobiert, bei dem die Genauigkeit 60% betrug.
Was kann ich bei der Montage falsch verstehen?
Bitte geben Sie Einzelheiten der Fall in Bezug auf Sie mit (Input und Output, Qualität der Daten etc.) arbeiten. Sofern Sie nicht angeben, dass es praktisch unmöglich ist, eine nützliche Antwort zu erhalten. – rpd
Bitte nehmen Sie sich ein Buch über maschinelles Lernen und lesen Sie über Vorhersage-Fehler, Modell-Fähigkeiten, Generalisierungs-Fehler und co ... Es scheint, Sie fehlen * alle * die Grundlagen. Sry. – sascha
Erste Anmerkung, die Dokumentation sagt "lineares Modell". Im Allgemeinen erhalten Sie mit einem maschinellen Lernalgorithmus keine 100% ige Genauigkeit Ihrer Trainingsdaten. Dies gilt insbesondere für ein lineares Modell. Betrachten Sie ein Diagramm von zwei Klassen von Objekten, die über zwei Dimensionen verteilt sind. Wenn die Klassenpunkte stark überlappen, müsste ein Klassifizierer eine sehr hohe Varianz aufweisen, um eine (nicht-lineare) Grenze zu erzeugen, die 100% der Trainingsdaten trennt. Normalerweise bedeutet dies eine enorme Überanpassung und ist unerwünscht. –