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