2013-04-22 12 views
8

Ich brauche einige künstliche Daten, nämlich "Two-Spiral", "Cluster-Inside-Cluster", "Halbkern", "Halbmond-Vollmond" und "Ausreißer" für maschinelles Lernen Zwecke.Erstelle künstliche Daten in MATLAB

Artificial Data

Gibt es eine Anleitung/Paket/Quelle-Code in MATLAB?

+1

Haben Sie Bilder Ihrer Datenmuster in voller Größe? Dann können Sie jedes Bild "durchlesen", durch die Koordinaten "x" und "y" schleifen und die Punkte in der Farbskala nach Farbschwellenwerten trennen. –

+1

Wenn Sie einige dieser Formen mit einer Funktion definieren können (ziemlich einfach für die Kreise usw.), dann können Sie den Monte-Carlo-Ansatz aus dieser Lösung verwenden: http://stackoverflow.com/questions/16098209/point-cloud-generation/16098613 # 16098613 – Dan

+0

Wie kann ich Punkte in verschiedenen Clustern mit gelesenen teilen? – BlueBit

Antwort

12

Da ich dachte, dass es nützlich wäre, diese Art von Datensätzen zur Verfügung zu haben, und weil es eine lustige Übung wäre, schrieb ich einige Funktionen, um zufällige Datensätze zu erzeugen, die denen in Ihrem Bild sehr ähnlich sind. Es gibt eine Reihe von Optionen, um die Anzahl der Instanzen, die Menge an Rauschen usw. zu steuern. Die Ausgabe für jede Funktion ist eine Nx3-Matrix, wobei jede Zeile die X-, Y-Koordinaten und die Klasse einer Instanz enthält. Diese

ist, wie die Ausgabe wie folgt aussieht:

Example of generated datasets

ich tat es in 6 Skripte von 30-40 Linien pro Person. Ich habe die Skripte in Matlab File Exchange hochgeladen, aber es wurde noch nicht überprüft. Für jetzt können Sie die Dateien here erhalten. Es gibt kaum Kommentare in dieser ersten Version, aber ich hoffe, dass der Code selbsterklärend ist. Es gibt auch ein Demo-Skript (datasetsdemo.m), das alle Skripte ausführt und das oben gezeigte Bild erzeugt.