Donnerstag, 25. April 2024, 15:32 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Reiner

unregistriert

1

Samstag, 3. November 2007, 16:43

Machine Learning // Data Mining // z.B. Support Vector Machine

Wie bereits angekündigt möchte ich hier die komfortable Möglichkeit vorstellen, in Verbindung mit Investox Vorhersage-Modelle, aufgrund verschiedener mathematischer Modelle, zu erstellen.

Zum Beispiel auch mit Hilfe von des Modells: Support Vector Machines!!!

Hierzu habe ich eine äußerst innovative und mächtige Software ausgewählt, welche neben zahlreichen mathematischen Modellen für das Data Mining, noch eine Vielzahl von Features bietet.

Die Besonderheit ist ein grafisches Drag & Drop Programmier-Tool, welches ermöglicht die gesamte Struktur und den Aufbau des Data-Mining Prozesses:

DataSources: Dateneingabe (automatisch aus z.B. den Pinnacle-Files, zurück in CSV-Format für INV mit "verfügbare Werkzeuge / Neu / als Titel anlegbar) & Daten-Konvertierung

Data-Sinks: Datenausgabe

Filters: Datenvorbehandlung (z.B. Dämpfung)

Classifiers: Mathematische Modelle (z.B. Support Vector Regession mit RBF-Kernel, oder ca. 60 andere Verfahren (auch das von INV genutzte)

Clusters: Statistische Auswertung (z.B. KMeans, etc)

Evaluation: Trainingsmethoden (z,B. Cros-Validation, etc.)

Visualization: Grafische Ausgabe in allen denkbaren und aufwenigen Charts un Diagrammen!

in einem KnowledgeFlow Enviroment per Drag & Drop aufzubauen, dabei die einezelnen Elemente zu konfigurieren und als Programm abzuspeichern, um es dann in einem Explorer ablaufen zu lassen.

Der Vorteil liegt klar auf der Hand: So kann jeder INV-User sich ein individuelles Data-Mining Projekt, ohne große Vorkenntnisse erstellen, testen und auch als kleine Datei weiterreichen.

Der Aufbau des Programms ist so innovativ, dass ich innerhalb vier Tagen ein vollständiges und lauffähiges Support Vector Machines Projekt erstellt hat, welches in seiner Mächtigkeit (Modelloptimierung, Datenfluß, Dämpfungsmöglichkeiten, Visualisierung, Rechenzeit, etc.) ungeahnte Möglichkeiten erschließt.

So sind aber auch vollkommen andere Data-Mining Methoden, unter anderem auch vollständig neue mathematische Ansätze schnell programmiert (zusammengeklickt) und lauffähig.

Das hier vorgestellte Programm ist somit wie ein (fix und fertiges) Zusatzmodul zu Investox zu sehen, welches auch in den älteren Versionen von INV leicht einzubinden ist.

Das Programm ist intuitiv zu bedienen und bereits nach zwei Tagen hat man die Zusammenhänge leicht verstanden. Die Dokumentation ist sehr umfangreich und liegt auch in deutscher Fassung vor!

So benutzt es z.B. bei der Support Vector Machines die Algorithmen von Alex Smola und Bernhard Scholkopf, beide in der Forschung von Data Mining bekannt. Auch das Paket LibSVM ist über eine im Programm enthaltene Console (hier kann man auch alle Module über
Kommandozeile ansprechen) verfügbar.

Das Programm ist kostenlos und unterliegt der GNU Lizensierung.

Es handelt sich um Weka 3.4, Data Mining Software in Java, University of Waikato, und kann hier:

http://prdownloads.sourceforge.net/weka/weka-3-4-11.exe

per Download bezogen werden. Die Installtion erfolgt vollautomatisch.

In dem Programmordner sind auch alle Dokumentationen, Beispieldaten, etc. enthalten, als auch ein Tutorial!

Wenn man das Programm aufruft (ohne Konsole), so öffnet sich der Weka GUI Chooser, hier kann man vier Programme aufrufen:

Experimenter: (Ein Programm mi dem man im Vorfeld Versuche, bezüglich dem Modell, der Filterung, etc. durchführen kann, um schnelle Ergebnisse zu erzielen. Aber auch um eben zu experimentieren!

KnowledgeFlow: Die grafische Programmierung! Hier kann der gesamte Flow-Prozess ( --> ein Novum!!!) erstellt werden und gleichzeitig die eingefügten Module konfiguriert werden. So, auch die Datenkonvertierung, die Modellanpassung, etc.

Explorer: Hier wird der abgespeicherte Prozess aus dem KnowledgeFlow wieder aufgerufen und steht dann ablauffähig zur Verfügung. Man kann natürlich auch direkt in diesem Explorer alle Eingaben vornehmen.

Die Rechenzeit für mein Support Vector Machine Prozess ist äußerst kurz, so dass Weka im Hintergrund von INV läuft und sofort die Ergebnisse ausgibt, die in INV im Chart als Linie angezeigt werden. Hieraus können dann die Handelssignale generiert werden. (Linie schneidet nach oben/unten). Auch können verschiedene Strategien der SVM gefahren werden, wie z.B. ein Modell, welches nur nach bestimmten Zeitabschnitten neu trainiert wird (4 - 5 s) und dann mit den"neuen" Daten die Prognose erstellt. Oder das Training vor jeder neuen Prognose.

Zunächst rate ich jedem Interessierten das Programm zu installieren und sich zwei Tage mit demselben vertraut zu machen.

Dann die Datenkonvertierung und Datenanbindung mit INV zu erproben und dann umzusetzen:

Hierzu die Pinnacle Daten als ASCII abspeichern (als Beispiel: Pinnacle mit DMakerw), dann mit einem Input-Modul die Konvertierung, Datenlänge, etc. festlegen. Das Modell in Weka aufbauen (z.B. Support Vector Regession mit RBF-Kernel), eventuell vorher Filterung der Daten, den Modus der Abarbeitung (Cross-Validation, Random-Split der Daten, die Einbindung von Fehlerstatistiken u. Rückkopllung, Modelloptimierungs-Modul (automatische Ermittlung der besten Parameter: c, gamma, etc.), Einbindung der Visualisierung (wenn gewünscht), etc. und dann im Weka- Explorer testen.

Es lassen sich auch Datenbanken, oder andere Datenquellen, einlesen.

Das ganze Konzept ist natürlich durch die einfache Weiterreichung der erstellten Projekte wie für INV und das Forum geschaffen!!!

So bitte ich jeden, der einen neuen Schritt (Datenanbindung, Modell-Engineering, andere mathematische Modelle, und, und, und .....) im Forum bereitzustellen.

So kann mit diesem Programm und seinen sehr, sehr mächtigen Funktionsumfang nun jeder seine Support Vector Machine realisieren und nutzen, auch INV-User mit älteren Versionen. Diese können aber nun auch herkömmliche NN, vielfältige andere Data-Mining Prozesse umsetzten.

Vieleicht entsteht ja hier, in diesem Beitrag, eine Plattform der gegenseitigen Unterstützung und Austausches.

Als Anhang sind 7 Screenshoots von Weka angefügt: Bild 5 und 6 zeigt das Support Vector Machine Modul & Beschreibung!

Da ich nur 5 Bilder laden kann, füge ich noch einen Beitrag "Bilder" an!

Viele Grüße

Reiner
»Reiner« hat folgende Bilder angehängt:
  • ZW_01.jpg
  • ZW_02.jpg
  • ZW_03.jpg
  • ZW_04.jpg
  • ZW_05.jpg

Reiner

unregistriert

2

Samstag, 3. November 2007, 16:44

Bilder

Die restlichen Bilder!
»Reiner« hat folgende Bilder angehängt:
  • ZW_06.jpg
  • ZW_07.jpg

Reiner

unregistriert

3

Samstag, 3. November 2007, 18:47

Noch einige Hinweise!

  • Im KnowledgeFlow Enviroment sind unter jedem Reiter, wie z.B. DataSources die einzelnen zugehörigen Module aufgelistet, die mit Drag Drop in das darunter befindliche Fenster gezogen werden, um ein kompletten Prozess-Aufbau zu erhalten. Also wird zum Beispiel der CSV Loader nach unten gezogen und dann mit einem rechten Mausklick zur Konfiguration geöffnet. Hier können dann Datenquelle, Optionen, etc. eingestellt werden. Es werden auch zahlreiche Konvertierungstools angeboten mit denen die Datenanbindung an INV realisiert werden kann.


  • Datenanbindung: Hier sind mehrere Vorgehensweisen möglich! Zum einen kann man in INV einen Berechnungstitel anlegen. Es stehen einem dort ja sechs Felder zur Verfügung: Open, High, Low, Close, Volume und OpenInt. Wenn man also als Prognoseziel den ROC, 2 Perioden, vom Close des FDAX mit Ref(+2) (---> soll ja bewußt das Prognoseziel in die Zukunft verschieben) einfügen, so trägt man unter Close des Berechnungstitel ein: Ref(ROC(Close("GERMAN DAX -%"), 2, %), 2), dann unter High die erste gewünschte Eingabe-Datenreihe: z.B. ROC(Close("GERMAN DAX -%"), 1, %), unter Low die zweite Eingabe-Datenreihe: z.B. ROC(Close("GERMAN DAX -%"), 2, %), unter Close die dritte Eingabe-Datenreihe z.B. ROC(Close("GERMAN DAX -%"), 3, %), usw. Auf diesen Berechnungstitel der dann die Inputs und gleichzeitig den Output (Prognoseziel) enthält kann man nun im Ordner INV, Berechnungen zugreifen, wobei sich dieses Format konvertieren lässt und natürlich Open nicht Open ist, sondern eben das Prognoseziel, usw.


  • Zurück kann man die Daten (über das Modell erzeugte Prognose (Predict)) als CSV-Datei schreiben (in einem beliebigen Ordner) und dann mit INV (neuen Titel anlegen) als Line darstellen nd mit dieser Handelssignale ezeugen. INV hat hier einen praktischen Konvertrer der einem hilft die einzelen Zeilen der Ausgabedatei zu ordnen (Datum, Predict, etc.)




Mit den Drag & Drop einfügbaren Module von Weka bieten schon fast alle wichtigen Bausteine, auch für Berechnungen, Datenumwandlung, Datensplitting, etc.

Ansonsten gibt es eine Fülle von Bausteine auf der Website von Weka, oder auf Anwenderseiten. Man findet hier fast alles, wenn man ein wenig googelt. Auch schon Applikationen für Finanzreihen!

Empfehlen kann ich das folgendes Buch: http://www.cs.waikato.ac.nz/~ml/weka/book.html (auch in deutscher Übersetzung erhältlich!

Hier eine Anwenderseite: http://books.elsevier.com/us//mk/us/subi…r=&community=mk

Weka scheint schon eine Art INV bei den Data Mining Anwendern zu sein!

Viele Grüße

Reiner

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Reiner« (3. November 2007, 19:20)


Chemie262

unregistriert

4

Samstag, 3. November 2007, 20:32

dies ist die deutsche Übersetzung des Buches:
Data Mining
Praktische Werkzeuge und Techniken für das maschinelle Lernen
Autor/in: Ian H. Witten und Eibe Frank
Verlag: Hanser Verlag
Seitenzahl: 406
Erscheinungsjahr: 2001
Preis: EUR 49,90
ISBN: 3-446-21533-6

Data Mining ist in aller Munde – verspricht es doch, aus Mega- oder gar Gigabytes an gesammelten Daten die tatsächlich relevanten Informationen "herauszuarbeiten". Dass hierfür jedoch teils überaus komplizierte Verfahren, insbesondere aus dem Bereich des maschinellen Lernens, erforderlich sind, schreckt viele Endanwender und Entwickler vor deren Einsatz ab. Eine allgemein verständliche und praktische Einführung in dieses Thema bieten die Autoren Ian H. Witten und Eibe Frank mit ihrem Buch "Data Mining" – in der deutschen Übersetzung beim Hanser Verlag erschienen.

Angefangen bei der Datenaufbereitung und -auswahl über die eigentlichen Verfahren zur Klassifikation, zum Clustering und zur Bildung von Assoziationsregeln bis hin zu den verschiedenen Methoden für die Auswertung und die Optimierung des Lernprozesses deckt das Werk das gesamte Spektrum des Data Mining ab. Dabei werden die notwendigen theoretischen Grundlagen ebenso besprochen wie die Implementierung und die praktische Anwendbarkeit der verschiedenen Verfahren.

Zu diesen Verfahren, die im Buch ausführlich dargestellt werden, gehören unter anderem Entscheidungsbäume, Bayes'sche und regelbasierte Methoden, instanzbasiertes Lernen auf Basis von Distanzfunktionen, numerische Vorhersagen mittels linearer Regression sowie die derzeit populären Support-Vektor-Machinen. Blackbox-Methoden, wie neuronale Netze, die kein für den Menschen verständliches Modell hervorbringen, werden hingegen von den Autoren bewusst ausgelassen.

Als zusätzliches Schmankerl enthält das Buch ein Kapitel mit einer Einführung in Weka – einer in Java und von den beiden Buchautoren programmierten Workbench für Knowledge Analysis. Das Weka-System unterstützt sämtliche im Buch beschriebenen Verfahren und kann durch eigene Klassen erweitert werden. Zudem sind die im Buch aufgeführten Beispiele als Dateien verfügbar.

Das Buch vermittelt einerseits auf unkomplizierte Weise ein solides Verständnis für die durchaus komplexe Theorie des maschinellen Lernens, deren genaue Kenntnis für den erfolgreichen Einsatz des Data Mining unerlässlich ist, und beschreibt andererseits die Anwendung der verschiedenen Verfahren anhand von zahlreichen einfachen Beispielen, sodass dem Leser nach der Lektüre des Buches auch die praktische Umsetzung in eigenen Projekten gelingt. Damit meistern die Autoren den Spagat, ein hochgradig theoretisches Thema mit hohem Praxiswert so darzustellen, dass es sowohl für reine Anwender als auch für Entwickler nützlich und insbesondere verständlich ist, ohne auf die notwendige wissenschaftliche Genauigkeit und Vollständigkeit zu verzichten. Alles in allem, ein überaus interessantes, lesenswertes und vor allem hilfreiches Buch.


Tschüß,
Herbert

Reiner

unregistriert

5

Samstag, 3. November 2007, 20:43

Hallo Herbert!

Und Weka ist hierfür die ideale und benutzerfreundliche Software, die alle Möglichkeiten des Data Mining, insbesondere die schnelle und erfolgreiche Umsetzung von Support Vector Machines mit INV ermöglicht.

Dabei kostenlos, zeitlich unbegrenzt und frei verwendbar. Mit einer einmaligen Dokumentation und zahlreichen fertigen (Download) Komplett-Anwendungen.

Ich habe ja auch weiter oben erste Ansätze gezeigt, wie man ein Modell aufbaut: Prognoseziel und Eingabedaten (ROC).

Hier nochmals der Link zum Download von Weka:

http://prdownloads.sourceforge.net/weka/weka-3-4-11.exe

Jeder der sich das Programm installiert, wird sehr schnell dessen Leistungspotential erkennen.

Viele Grüße

Reiner

Lasa

unregistriert

6

Samstag, 3. November 2007, 21:06

@ Reiner,

erst mal vielen Dank, für die vielen Infos und die außergewöhnlichen Ideen! Ich bezweifle zwar stark, dass ich mit Weka innerhalb von 2 Tagen etwas zum laufen bringe, aber der Versuch ist ja nicht strafbar. :D


Wenn es möglich ist, einen BT (.KBDAT) in Weka zu importieren, wäre dass sehr praktisch, vor allem für user, welche mit RTT Daten von IB arbeiten. Dann könnte man auch gleich im BT komprimieren, so dass weniger Daten
anfallen.

Ich habe es mal versucht mit den Standardmäßigen 5 Formaten(Data Sources), aber leider geht
dass so wohl nicht. Die von dir beschriebenen Konverter, sind das Erweiterungen, welche man in Weka einbinden kann oder muss man da basteln?


Gute Zeit!


P.S: Nach der Installation, haben mich die Möglichkeiten dieses tools fast erschlagen. Jetzt muss man
es NUR noch nutzen können. ;(



lasa

Seebär

unregistriert

7

Sonntag, 4. November 2007, 13:44

Hallo Reiner,

Hut ab! Das ist ein wirklich sehr interessantes Tool. Und sehr sehr umfangreich.

Zitat


Das Programm ist intuitiv zu bedienen und bereits nach zwei Tagen hat man die Zusammenhänge leicht verstanden. Die Dokumentation ist sehr umfangreich und liegt auch in deutscher Fassung vor!


Ich glaube ich habe momentan ein Brett vorm Kopf. Kannst Du mir sagen wo ich die deutsche Fassung finden kann?

Grüße Sebastian

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

8

Sonntag, 4. November 2007, 14:30

Hallo,

habe gerade den Beitrag gelesen und finde ihn sehr interessant, besonders das hier umfangreiche Java-Lib verwendet wird.
Bin mal gespannt, wie lange es dauert ein einfaches Handelssystem zum laufen zu bringen, wo die Kurseinspeisung in Investox erfolgt, die Berechnung extern in Weka durchgeführt wird, das Ergebnis an Inv. zurückgeliefert, die Handelssignale erzeugt und schließlich das OM das Orderrouting durchführt.

Hat man erstmal den prinzipiellen Ablauf, selbst wenn es nur ein simple externe ROC-Berechnung ist, kann man die externen Berechnungen dann Schritt für Schritt immer komplexer gestalten.
Danke, für den super Tip.

Viele Grüße
Torsten

Reiner

unregistriert

9

Sonntag, 4. November 2007, 15:47

Hallo!

Die Software Weka steht in der Version 3.5.6 auch als Developer Paket zur Verfügung:

http://prdownloads.sourceforge.net/weka/weka-3-5-6.exe

Die Datenanbindung lässt sich in verschiedenen Arten realisieren. So besitzt Weka auch eine API-Schnittstelle, oder man kann mit Hilfe VB 6 eine Bridge entwerfen.

Aber, wie berichtet lässt sich die Datenanbindung in beide Richtungen zu INV, auch mit der Standard-Version von Weka realisieren.

Es steht auch der Open Scoure von Weka zur Verfügung.

Da es sich bei Weka um eine professionelle Software handelt, die den Bereich Data Mining -in allen denkbaren Bereichen- abdeckt; und Weka auch von seinen Entwicklern ständig gepflegt wird (als auch von den Anwendern durch die Bereitstellung fertiger Programme/Tools), könnte man sich doch auch überlegen Herrn Knöpfel zu bitten Weka mit Investox nutzbar zu machen, also hier die notwendigen "Verbindungen" zu schaffen. So würden manche "Umwege" die jetzt notwendig sind entfallen.

Hier die FAQ zu Weka: http://weka.sourceforge.net/wiki/index.php/FAQ

Hier noch ein Beispiel: Neben der zur Zeit hochaktuellen Realisierung der Support Vector Machines mit Weka (in professioneller Weise) kann man z.B, auch die von INV gewohnten NN realisieren und so wichtige Zusammenhänge (Architektur, Kennzahlen, Optimierung, Fehlerauswertung, und..., und...) erfassen, oder auch NN mit Weka trainieren.

Weka also has a graphical user interface to a neural network (weka.classifiers.functions.neural.NeuralNetwork). This interface allows the user to specify the structure of a multi-layer perceptron and the parameters that control its training.



Meiner Meinung nach erfüllt Weka, als ideale Ergänzung zu Investox, vielfältige Anforderungen, die hier schon oft im Forum besprochen wurden.

Mit vielen Grüßen

Reiner

Peratron

unregistriert

10

Sonntag, 4. November 2007, 16:35


Reiner

unregistriert

11

Sonntag, 4. November 2007, 16:49

Hallo!



Vielen dank für diesen Hinweis!

Hier sieht man auch, wie bekannt Weka ist!

Im WWW lassen sich viele fertige Anwendungen, als auch Beispiele und Beschreibungen finden, auch für SVM´s.

Viele Grüße

Reiner

Reiner

unregistriert

12

Sonntag, 4. November 2007, 17:39

Daten für erste Versuche!

Hier stelle ich Daten (gezippt) zur Verfügung, die ich für LibSVM (Windows Binaries: svmtrain und svmpredict) aus Investox exportiert habe.

Datenlänge: 10.03.2003 bis 30.10.2007

Format: <label> <index1>:<value1> <index2>:<value2>.....

Format: <Ref(ROC(Close,2,%),2)> 1:<ROC(Close,1,%)> 2:<ROC(Close,2,%)> 3:<ROC(Close,3,%)> 4:<ROC(Close,5,%)>5:<ROC(Close,8,%)>

Das Label ist das Prognoseziel!! Daher Ref(Close,2,%),2) !!!

Wobei das Label bei den Datensatz Daten_Value_ROC2_ROC5 ein Wert ist und beim Datensatz Daten_Class_ROC2_ROC5 -1 / 1 ist!

Die Daten können direkt mit LibSVM verarbeitet werden, wobei eine Aufteilung in einen Textfile train.txt und test.txt erfolgen muß.

Befehle:

svmscale:

usage: SVMSCALE [-l lower] [-u upper] [-y y_lower y_upper]
[-s save_filename] [-r restore_filename] filename

(default: lower = -1, upper = 1, no y scaling)


svmtrain:

Usage: svm-train [options] training_set_file [model_file]

options:

-s svm_type : set type of SVM (default 0)
0 -- C-SVC
1 -- nu-SVC
2 -- one-class SVM
3 -- epsilon-SVR
4 -- nu-SVR
-t kernel_type : set type of kernel function (default 2)
0 -- linear: u'*v
1 -- polynomial: (gamma*u'*v + coef0)^degree
2 -- radial basis function: exp(-gamma*|u-v|^2)
3 -- sigmoid: tanh(gamma*u'*v + coef0)
4 -- precomputed kernel (kernel values in training_set_file)

-d degree : set degree in kernel function (default 3)
-g gamma : set gamma in kernel function (default 1/k)
-r coef0 : set coef0 in kernel function (default 0)
-c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
-n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
-p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)
-m cachesize : set cache memory size in MB (default 100)
-e epsilon : set tolerance of termination criterion (default 0.001)
-h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)
-b probability_estimates: whether to train a SVC or SVR model for probability es
timates, 0 or 1 (default 0)
-wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1)
-v n: n-fold cross validation mode


svmpredict:

Usage: svm-predict [options] test_file model_file output_file

options:

-b probability_estimates: whether to predict probability estimates, 0 or 1 (defa
ult 0); for one-class SVM only 0 is supported

Beispiele:

svmscale -l -1 -u 1 -s scaling_parameters.txt train.txt > scaled_train.txt

svmscale -r scaling_parameters.txt test.txt > scaled_test.txt

svmtrain -s 0 -c 1 -t 2 -g 0.5 -e 0.001 train.txt modell.txt ----> dies ist eine SVM: Typ: C-SVC Kernel: RBF(andere Kombinationen siehe oben!)

svmpredict test.txt modell.txt predict.txt

Das LibSVM Paket kann unter:

http://www.csie.ntu.edu.tw/~cjlin/cgi-bi…jlin/libsvm+zip[/url]

bezogen werden. Es werden nur die im Windows-Ordner befindlichen Binaries benötigt!

Die Befehle unter DOS-Prompt eingeben. Wobei command in das Arbeitsverzeichnis, in dem sich die Daten befinden, kopiert werden sollte, um sich Verzeichnisangaben zu ersparen.

Die Daten können auch für Weka konvertiert werden!

Und stehen dann dort einer komfortablen und weitaus mächtigeren Verarbeitung zur Verfügung!

Ich wollte hier einen einfachen Einstieg für Experimente mit Support Vector Machines -als dass nur das Train und Predict Modul verwendet werden müssen- geben!

Viele Grüße

Reiner
»Reiner« hat folgende Dateien angehängt:

Lasa

unregistriert

13

Sonntag, 4. November 2007, 18:59

Grüsse,

man findet im Netz sehr viele Infos zum Thema WEKA, dass ist wirklich nützlich, wenn man allerdings Java
nicht beherrscht, dann muss man sich erst mal überlegen, welcher Aufwand da auf einen zu kommt. Wenn WEKA in INV implementiert werden würde, wäre dass sicher klasse.


Ich habe jetzt schon einiges im Netz über WEKA gelesen und die folgende PDF finde ich sehr gut, da es ein Beispiel Projekt erklärt, welches in WEKA enthalten ist.

http://bioweka.sourceforge.net/download/LE_1.05_75-79.pdf

Da kann man dann unter Anleitung (Deutsch) die ersten Schritte machen und die Ergebnisse auswerten.



Gute Zeit!

lasa

Reiner

unregistriert

14

Sonntag, 4. November 2007, 19:17

Hallo lasa!

Ja, der von Dir vorgestellte Artikel ist ein schönes Beispiel für die vielfältigen Anwendungsmöglichkeiten von Weka! Insbesondere wird hier auch mit einer Support Vector Machine (speziell: SMO ) gearbeitet! Weka kann aber durchaus auch Kenntnisse der Java-Programmierung im vollen Umfang genutzt werden!

Vielen Dank für deine Recherche.

Hinweis:

Die von mir bereitgestellten Daten müssen im jeweiligen Textfile immer nach dem letzten Zeichen der letzten Zeile enden!!! Also der Cursor muß z.B. in der letzten Zeile 1711 hinter dem allerletzten Zeichen stehen und danach darf kein einziges Leerzeichen mehr folgen. Dies bitte kontrollieren und gegebenenfalls nachfolgende Leezeichen löschen und dann den File neu speichern!!! Dies ist auch wichtig bei der Aufteilung der Daten in ein train.txt und test.txt File! Ansonsten kommt die Meldung beim Training oder bei der Vorhersage: Error in Line xyxy!

Viele Grüße

Reiner

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Reiner« (4. November 2007, 19:32)


Lasa

unregistriert

15

Sonntag, 4. November 2007, 20:47

Hallo Reiner,

der von dir gepostete Link hat bei mir nicht funktioniert. Ich denke, du meinst diesen http://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-2.84.zip


Schau doch bitte, ob mein Link passt.


Schönen Abend noch!


lasa

Reiner

unregistriert

16

Sonntag, 4. November 2007, 20:56

Hallo lasa!

Hallo Reiner,

der von dir gepostete Link hat bei mir nicht funktioniert. Ich denke, du meinst diesen http://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-2.84.zip


Schau doch bitte, ob mein Link passt.


Schönen Abend noch!


lasa


Ja, das ist der richtige Link: Ich vermute, dass beim Kopieren des Links in meinen Beitrag etwas schief gelaufen ist!

Hier auch die Stratseite, auf dem der Download für LibSVM unter :

Download LIBSVM
The current release (Version 2.84, April 2007) of LIBSVM can be obtained by downloading the zip file or tar.gz file. Please e-mail us if you have problems to download the file.

verzeichnet ist: http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Vielen Dank für den Hinweis!

Reiner

halobungie

unregistriert

17

Sonntag, 4. November 2007, 21:08

Hallo Reiner,

Wie kann ich RTT-Dateien in WEKA importieren?

Besten Dank!
halobungie

Reiner

unregistriert

18

Montag, 5. November 2007, 15:18

Datensatz für Weka 3.4.11 FDAX vom 10.03.2003 bis 30.10.2007 als ARFF Data File

Hallo!

Hiermit stelle ich für ausführliche Versuche mit Weka 3.11.4 einen Datensatz (ARFF) zur Verfügung, der mit dem Weka-Explorer direkt geöffnet und verarbeitet werden kann.

Die Datei ist als ZIP-Ordner diesem Beitrag angefügt:

Es handelt sich um den FDAX 10.03.2003 bis 30.10.2007 mit 1186 Instanzen.

Format:

%
% This is example for ROC / FDAX dataset
%
@relation 'dax'
@attribute ROC22 real
@attribute ROC1 real
@attribute ROC2 real
@attribute ROC3 real
@attribute ROC5 real
@attribute ROC8 real
@data
-5.4553,-4.630225,-4.650826,-7.604297,-8.709287,-5.635909
2.05E+00,-1.204324,-5.778786,-5.799139,-8.278721,-8.024042
8.8967,-4.302795,-5.4553,-9.832932,-12.64476,-13.43588
6.609249,6.636583,2.048229,0.8192371,-3.86969,-7.961399
7.652816,2.119457,8.8967,4.211097,-1.811039,-4.416249
4.629436,4.396608,6.609249,13.68446,7.482632,-0.6906673
1.464677,3.119074,7.652816,9.934471,12.18618,5.680347
3.699475,1.464677,4.629436,9.229583,18.94741,7.251392
-1.879952,0,1.464677,4.629436,11.54466,12.45847
.
.
.

1. Attribut: Ref(ROC(Close,2,%),2) --> Prognoseziel!
2. Attribut: ROC(Close,1,%)
2. Attribut: ROC(Close,2,%)
2. Attribut: ROC(Close,3,%)
2. Attribut: ROC(Close,5,%)
2. Attribut: ROC(Close,8,%)

Im Weka Explorer mit Open File den Datensatz "Weka_Daten_FDAX_ROC.ARFF" öffnen.

Nun kann man im Feld: Attributes ein, mehrere oder auch alle Attribute auswählen und diese sich unten rechts im Fenster visualisieren lassen. Auch hier kann man bequem auswählen.

Nun kann man die Daten mit verschiedenen Filtern bearbeiten: Glätten, Verrauschen, etc.

Dann auf Classify (nächste Seite) das mathematische Modell unter Choose einfügen: hier unter Function // SMOreg wählen.

Dies ist eine Support Vector Machine --> SVR (Regressionsmodell). (ein Klick auf das jeweilige Modell in der Choose-Zeile öffnet die Parameter-Einstellungen)

Nun die Test-Optionen wählen, z.B. Cross-Validation und Start betätigen, nun wird ein Optimierungs-Modell erstellt!

So können jetzt verschiedenste Verfahren angewandt werden, noch ein Beispiel: unter Select Attributes kann festgestellt werden, welche der Attribute (Inputs) die besten für das Training darstellen. Da sich ja auch ein "klassisches" NN, wie das von Investox realisieren lässt, können auch hier wertvolle Kennzahlen gewonnen werden. Dies war ja schon immer ein Wunsch von Investox-Usern, wie z.B. Adrian.

Und, und ...

Hier alle Funktionen von Weka zu beschreiben, ist fast nicht möglich. Jeder der hier aber ernstes Interesse zeigt, und sich in die Materie einarbeitet (Manual, Tutorial´s, WWW, etc.), wird intuitiv das Programm, als auch die Anwendung von Vorhersage-Prozesse, erfassen und umsetzen.

Noch einige Hinweise: Die Daten können von Weka automatisch in geeignete "Abschnitte" (Training, Test, OoS, Prediction) geordnet werden, oder die angefügte Datei lässt sich, mit Hilfe von WordPad, händisch in Teilabschnitte "zerlegen".

Weka bietet die Möglichkeit von der Datenaufbereitung, der Datenanalyse, der Modell-Optimierung, Fehlerbeurteilung des Modells, bis hin zum Training und der Vorhersage einen optimalen Prozess umzusetzen!

Wer sich an meinem Beispiel mit LibSVM versucht hat, wird nun ganz andere Dimensionen des Dat-Mining erfahren, inbesondere bei der erreichbaren Prognosegüte (auch ohne großen mathematischen Background!)

Mit Hilfe des Knowledgeflow lassen sich auch die Prozesse visuell zusammenfügen. Hier sind auch unter dem Reiter datasources bereits einige Datenkonverter (andere können teilweise von Anwenderseiten geladen werden).

Noch ein Link auf ein Tutorial-Projekt der Vorhersage von Aktienkurse mit Weka (auch mit Daten):

http://www.cs.bham.ac.uk/~jxl/Tutorial/T…kPrediction.htm

Mit dem beigefügten Datensatz können natürlich auch alle anderen Data Mining Modelle (ca. 60 Stück!) getestet werden.

Viel Spass beim experimentieren und natürlich auch viel Erfolg!

Viele Grüße

Reiner
»Reiner« hat folgende Datei angehängt:

Cash Männlich

Meister

Registrierungsdatum: 14. August 2005

Beiträge: 543

Wohnort: Stuttgart

19

Montag, 5. November 2007, 15:58

Hallo zusammen,

habe mir Weka mal kurz angeschaut. Leider vermisse ich eine Visualisierung in 3D.
Hatte in einem SVM Beispiel gesehen, daß man z.B. die Punkte dreidimensional visualisieren und dann eine Plane als Grenze quer durch den Würfel legen kann. Hat den Vorteil, daß man pro Punkt 3 Werte erfassen und evtl. auch leichter Ansammlungen von "Treffern" identifizieren kann.
Bei Weka kann man anscheinend "nur" in 2D arbeiten, ist das so?

Grüße, Frank

Reiner

unregistriert

20

Montag, 5. November 2007, 16:29

Hallo!

!
Hallo zusammen,

habe mir Weka mal kurz angeschaut. Leider vermisse ich eine Visualisierung in 3D.
Hatte in einem SVM Beispiel gesehen, daß man z.B. die Punkte dreidimensional visualisieren und dann eine Plane als Grenze quer durch den Würfel legen kann. Hat den Vorteil, daß man pro Punkt 3 Werte erfassen und evtl. auch leichter Ansammlungen von "Treffern" identifizieren kann.
Bei Weka kann man anscheinend "nur" in 2D arbeiten, ist das so?

Grüße, Frank


Das war wirklich nur ein "Beispiel" im wahrsten Sinne des Wortes!

Es wird sich hier um eine Darstellung gehandelt haben, um einen Eindruck von der "Separation" in einem feature space zu erhalten. Die Dimension, in der eine lineare Separation erfolgen kann, ist nicht dreidimensional darstellbar!

Es gibt verschiedene Verfahren hier eine grafische Darstellung zu vermitteln, etwa Kruvenschare, eine farbliche Darstellung, oder die lineare "Trennlinie" in der Dimension n in der Ebene z.B. als Polynom darzustellen.

Aber die Dimension n > 3 direkt zu visualisieren gelingt nicht.

Aber Weka bietet eine sehr mächtige Visualisierung z.B. über Farbverläufe.

Wenn die Daten, die ich zur Verfügung gestellt habe, in Weka geladen sind auf Visualisierung gehen und mit Doppelklick auf einen Chart, so öffnet sich die differenzierte Darstellung.

Was nicht geht, dass geht halt nicht, auch wenn´s schön aussieht! Ist halt in der Mathematik so!!! Viel wichtiger ist der mathematische Prozess der Separierung mit dem Kernel-Trick, als nicht darstellbare Bilder.

Hier ist der Mensch zu an sehr an seine evolutionäre Erfahrung gebunden: Nur was ich sehe, das begreife ich!

Mit vielen Grüßen

Reiner

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Reiner« (5. November 2007, 16:42)