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
|
||||
1
Online-IDE-json/PerzeptronLabor.json
Normal file
1
Online-IDE-json/PerzeptronLabor.json
Normal file
@@ -0,0 +1 @@
|
||||
{"name":"PerzeptronLabor","modules":[{"name":"daten.txt","text":"Beschriftung;Klasse;Kalorien;Eiweiß\nErbsen;1;37;3\nGurken;1;4;0\nKarotten;1;29;1\nSpinat;1;12;2\nTomaten;1;16;1\nApfel;1;49;0\nAprikose;1;49;1\nBanane;1;70;1\nWassermelone;1;12;0\nAal;0;204;9\nForelle;0;50;10\nThunfisch;0;239;22\nLachs;0;137;13\nMakrele;0;124;12\nEnte;0;192;15\nPute;0;122;23\nSchwein;0;167;18\nCroissant;0;280;0\nDonut;0;295;3\nSemmel;0;276;7\nToastbrot;0;326;10\nWeizenbrot;0;235;8\nRührkuchen;0;430;6\nRoggenbrot;0;243;6","identical_to_repository_version":false},{"name":"Labor.java","text":"/**\n * Portierung des Perzeptron-Labors von Christoph Grässl für die Online-IDE.\n * \n * @author: Jan Bertram ( jbsoc@mailbox.org )\n */\npublic class Labor {\n ArrayList<DataPoint> trainingset;\n\n public Labor() {\n trainingset = new ArrayList<>();\n }\n\n public void ladeTrainingsdaten(String workspaceFilename) {\n String fileAsString = Files.read(workspaceFilename);\n String[] lines = fileAsString.split(\"\\n\");\n for (String line : lines) {\n String[] items = line.split(\";\");\n // 0 Beschriftung, 1 Klasse, 2 x1, 3 x2\n if(items[0] != \"Beschriftung\") { // Zeile mit Beschriftung aussparen\n double x1 = Double.valueOf(items[2]);\n double x2 = Double.valueOf(items[3]);\n int klasse = Integer.valueOf(items[1]);\n String name = items[0]; \n DataPoint dp = new DataPoint(x1, x2, klasse, name);\n this.trainingset.add(dp);\n }\n }\n }\n\n public void zeigeTrainingsdaten() {\n for (DataPoint dp : this.trainingset) {\n println(dp);\n }\n }\n}","identical_to_repository_version":false},{"name":"DataPoint.java","text":"public class DataPoint {\n private double x1;\n private double x2;\n private int label; // 0 für rot, 1 für grün\n private String name;\n\n public DataPoint(double x1, double x2, int label, String name) {\n this.x1 = x1;\n this.x2 = x2;\n this.label = label;\n this.name = name;\n }\n\n public String toString() {\n String retStr = \"\";\n retStr += this.name + \": \";\n retStr += this.label == 0 ? \"rot, \" : \"grün, \";\n retStr += \"x1: \" + String.valueOf(this.x1);\n retStr += \", x2: \" + String.valueOf(this.x2);\n return retStr;\n }\n}","identical_to_repository_version":false},{"name":"Start","text":"// Zum Testen, zeigeTrainingsdaten kann nach Abschluss\n// eigentlich entfernt werden…\nLabor lab = new Labor();\nlab.ladeTrainingsdaten(\"daten.txt\");\nlab.zeigeTrainingsdaten();","identical_to_repository_version":false}],"settings":{"libraries":[]}}
|
||||
Reference in New Issue
Block a user