resolves Issue: Einlesen der Datenpunkte in CSV-Datei
This commit is contained in:
22
Online-IDE-files/DataPoint.java
Normal file
22
Online-IDE-files/DataPoint.java
Normal file
@@ -0,0 +1,22 @@
|
||||
public class DataPoint {
|
||||
private double x1;
|
||||
private double x2;
|
||||
private int label; // 0 für rot, 1 für grün
|
||||
private String name;
|
||||
|
||||
public DataPoint(double x1, double x2, int label, String name) {
|
||||
this.x1 = x1;
|
||||
this.x2 = x2;
|
||||
this.label = label;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
String retStr = "";
|
||||
retStr += this.name + ": ";
|
||||
retStr += this.label == 0 ? "rot, " : "grün, ";
|
||||
retStr += "x1: " + String.valueOf(this.x1);
|
||||
retStr += ", x2: " + String.valueOf(this.x2);
|
||||
return retStr;
|
||||
}
|
||||
}
|
||||
35
Online-IDE-files/Labor.java
Normal file
35
Online-IDE-files/Labor.java
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* Portierung des Perzeptron-Labors von Christoph Grässl für die Online-IDE.
|
||||
*
|
||||
* @author: Jan Bertram ( jbsoc@mailbox.org )
|
||||
*/
|
||||
public class Labor {
|
||||
ArrayList<DataPoint> trainingset;
|
||||
|
||||
public Labor() {
|
||||
trainingset = new ArrayList<>();
|
||||
}
|
||||
|
||||
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 zeigeTrainingsdaten() {
|
||||
for (DataPoint dp : this.trainingset) {
|
||||
println(dp);
|
||||
}
|
||||
}
|
||||
}
|
||||
5
Online-IDE-files/Start
Normal file
5
Online-IDE-files/Start
Normal file
@@ -0,0 +1,5 @@
|
||||
// Zum Testen, zeigeTrainingsdaten kann nach Abschluss
|
||||
// eigentlich entfernt werden…
|
||||
Labor lab = new Labor();
|
||||
lab.ladeTrainingsdaten("daten.txt");
|
||||
lab.zeigeTrainingsdaten();
|
||||
25
Online-IDE-files/daten.txt
Normal file
25
Online-IDE-files/daten.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
Beschriftung;Klasse;Kalorien;Eiweiß
|
||||
Erbsen;1;37;3
|
||||
Gurken;1;4;0
|
||||
Karotten;1;29;1
|
||||
Spinat;1;12;2
|
||||
Tomaten;1;16;1
|
||||
Apfel;1;49;0
|
||||
Aprikose;1;49;1
|
||||
Banane;1;70;1
|
||||
Wassermelone;1;12;0
|
||||
Aal;0;204;9
|
||||
Forelle;0;50;10
|
||||
Thunfisch;0;239;22
|
||||
Lachs;0;137;13
|
||||
Makrele;0;124;12
|
||||
Ente;0;192;15
|
||||
Pute;0;122;23
|
||||
Schwein;0;167;18
|
||||
Croissant;0;280;0
|
||||
Donut;0;295;3
|
||||
Semmel;0;276;7
|
||||
Toastbrot;0;326;10
|
||||
Weizenbrot;0;235;8
|
||||
Rührkuchen;0;430;6
|
||||
Roggenbrot;0;243;6
|
||||
Reference in New Issue
Block a user