2016-07-19 32 views
7

ich einen Datensatz mit Etiketten und Datenpunkte haben, Problem ist, dass dann eher ein Klassifikationsproblem Ich möchte ein linair Schätzer erhalten, zum Beispiel:In Matlab Prtools wie setze ich fortlaufende Etiketten?

dataset=prdataset([2,4,6,8]',[1,2,3,4]') 
testset=prdataset([3,5,7,9]') 
classifier=dataset*ldc %should probably be changed? 
result=testset*classifier 

result.data wird jetzt

ans = 

    1.0e-307 * 

    0.2225 0.2225 0.2225 0.2225 
    0.2225 0.2225 0.2225 0.2225 
    0.2225 0.2225 0.2225 0.2225 
    0.2225 0.2225 0.2225 0.2225 

die sehr falsch.

Idealerweise wäre es [1.5,2.5,3.5,4.5]' oder etwas zu schließen. Irgendeine Idee, wie man das in PRtools oder in etwas Simulair macht? Dies ist eine linair Abhängigkeit, aber ich würde auch gerne mit anderen Arten von Abhängigkeiten spielen können?

Auch wäre es ein großer Bonus des Systems war etwas clever über NaN-Werte, die meinen realen Datensatz stark polieren.

Ich habe festgestellt, dass bereits LinearR Klasse, aber wenn ich, dass ich weirdly große Datensätze erhalten im Gegenzug,

dataset=prdataset([2,4,6,8]',[1,2,3,4]') 
testset=prdataset([3,5,7,9]') 
classifier=dataset*linearr%should probably be changed? 
result=testset*classifier 

gibt mir die Werte

0.1000 -0.3000 -0.7000 -1.1000 
    -0.5000 -0.5000 -0.5000 -0.5000 
    -1.1000 -0.7000 -0.3000 0.1000 
    -1.7000 -0.9000 -0.1000 0.7000 

, die wieder nicht korrekt ist.

Im Chat wurde vorgeschlagen,. * Anstelle von * zu verwenden, was zu einem Fehler bei der Verwendung von * führte. Innere Matrixdimensionen müssen übereinstimmen.

Im Linearcode.

Nur um klar zu sein bin ich auf der Suche nach einem Weg, um eine große Menge von Werten zu finden die Menge von Polynomen, die ihre Beziehung am besten beschreibt (wo die Polynome, die berücksichtigt werden, ist ein Parameter des Programms, im Beispiel) 1. Bestellung). In unserem Beispiel ist das Polynom 1/2a + 0. In meiner endgültigen Version möchte ich eine größere Anzahl von Parametern verwenden (10-20) und es kann eine quadratische Schätzung erfordern.

+1

Es ist ein bisschen unklar, was genau Sie fragen? Tipps zum Bereitstellen eines reproduzierbaren Beispiels finden Sie unter http://stackoverflow.com/help/mcve. Was sind 'prdataset' und' ldc'? – mgilbert

+0

@mgilbert ldc und prdataset sind Standardteile des prtools, Wenn Sie es installieren (http://prtools.org/), dann können Sie einfach diesen Code einstecken. Ldc ist ein linair diskriminierender Klassifikator und prdataset ist gut ein Datensatz in der Prtoolkit. Für das, was ich verlange, ist es möglich, im prtools-System fortlaufend vorhergesagte Labels zu erhalten. In diesem Spielzeugbeispiel möchte ich erfahren, dass das Label die Hälfte der Eingabedaten ist. – Thijser

+0

LDC verwendet Syntax wie 'LDC (R, S, M)', aber Sie multiplizieren es einfach ... Sie zeigen entweder nicht den gesamten Code oder haben die Dokumente nicht gelesen. – Oleg

Antwort

0

Vielleicht können Sie ein Neural Network (Neural Network Toolbox) verwenden: https://es.mathworks.com/help/nnet/gs/fit-data-with-a-neural-network.html

Von diesem Link:

Neuronale Netze an Anpassungsfunktionen sind gut. Tatsächlich gibt es Beweise dafür, dass ein ziemlich einfaches neuronales Netzwerk jeder praktischen Funktion gerecht werden kann.

Angenommen, Sie haben beispielsweise Daten von einer Gehäuseanwendung. Sie möchten ein Netzwerk entwerfen, das den Wert eines Hauses (in 1000 $) bei 13 geografischen und Immobilieninformationen voraussagen kann. Sie haben insgesamt 506 Beispielwohnungen, für die Sie diese 13 Datenelemente und ihre zugehörigen Marktwerte haben.

Sie können dieses Problem auf zwei Arten lösen: