Die Faktoren für die Streckung richten sich im Augenblick nach den Daten in der daten.txt-Datei, darauf wird jetzt in zwei Kommentaren hingewiesen. Vielleicht wäre es eine Überlegung Wert, später den Streckungsfaktor anhand der eingelesenen Daten zu berechnen.
50 lines
1.2 KiB
Java
50 lines
1.2 KiB
Java
/**
|
|
* Portierung des Perzeptron-Labors von Christoph Grässl für die Online-IDE.
|
|
*
|
|
* @author: Jan Bertram ( jbsoc@mailbox.org )
|
|
* @author: Sabine Schlötzer
|
|
*/
|
|
public class Labor {
|
|
ArrayList<DataPoint> trainingset;
|
|
Graph g;
|
|
|
|
public Labor() {
|
|
trainingset = new ArrayList<>();
|
|
g = new Graph(trainingset);
|
|
}
|
|
|
|
public void ladeTrainingsdaten(String workspaceFilename) {
|
|
String fileAsString = Files.read(workspaceFilename);
|
|
String[] lines = fileAsString.split("\n");
|
|
for (String line : lines) {
|
|
String[] items = line.split(";");
|
|
// 0 Beschriftung, 1 Klasse, 2 x1, 3 x2
|
|
if(items[0] != "Beschriftung") { // Zeile mit Beschriftung aussparen
|
|
double x1 = Double.valueOf(items[2]);
|
|
double x2 = Double.valueOf(items[3]);
|
|
int klasse = Integer.valueOf(items[1]);
|
|
String name = items[0];
|
|
DataPoint dp = new DataPoint(x1, x2, klasse, name);
|
|
this.trainingset.add(dp);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void zeigeGraph()
|
|
{
|
|
g.zeichnen();
|
|
}
|
|
|
|
public void leereGraph()
|
|
{
|
|
g.leeren();
|
|
}
|
|
|
|
public void zeigeTrainingsdaten() {
|
|
for (DataPoint dp : this.trainingset) {
|
|
println(dp);
|
|
}
|
|
}
|
|
}
|
|
|