Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 724a55b

Browse files
committed
start with commenting on distanceClassification.java
1 parent 5c8d9e3 commit 724a55b

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

‎src/classification/DistanceClassification.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,73 +25,93 @@ public class DistanceClassification {
2525
private int[][] sortedProbability;
2626

2727

28+
// --- Creating an object for distance classification --------------------------------------------------------------
2829
protected DistanceClassification(float [][] trainingDataPredictors, String [] trainingDataResults, int rowCount, int columnCount, float density) {
30+
//Setting specific attributes
2931
this.trainingDataPredictors = trainingDataPredictors;
3032
this.trainingDataResults = trainingDataResults;
3133
this.rowCount = rowCount;
3234
this.columnCount = columnCount;
3335
this.density = density;
3436

37+
// Getting the different classification classes
3538
getClassificationClasses();
3639

40+
// Sorting the classification data
3741
sortClassificationData();
3842

43+
// Calculating the mean per feature (to calculate the distance)
3944
calcFeatureMean();
4045
}
4146

47+
// --- Functions for returning classification data for internal use in other classes -------------------------------
48+
// --- Function for returning the number of different classes
4249
protected int getNumberOfClasses () {
4350
return this.numberOfClasses;
4451
}
4552

53+
// --- Function for returning the sorted classification data (after classification)
4654
protected float[][][] getSortedClassificationData() {
4755
return this.sortedClassificationData;
4856
}
4957

58+
// --- Function for returning the predicted test data (probability per class)
5059
protected String[][][] getPredictedTestData() {
5160
return this.predictedTestData;
5261
}
5362

63+
// --- Function for returning the sorted probability (ranking of the highest probability)
5464
protected int[][] getSortedProbability() {
5565
return this.sortedProbability;
5666
}
5767

68+
// --- Function for returning the mean value per feature
5869
protected float[][] getFeatureMean() {
5970
return this.featureMean;
6071
}
6172

73+
// --- Required Functions for classifying the data -----------------------------------------------------------------
74+
// All Functions have to been called in the ClassificationOfFloatValues.java file
75+
76+
// --- Function for setting the test data (with an upper and lower boundary -> already set in the classification file)
6277
protected void setTestData(float[][] testDataPredictors, String[] testDataResults, int rowCount, int columnCount) {
6378
this.testDataPredictors = testDataPredictors;
6479
this.testDataResults = testDataResults;
6580
this.testDataRowCount = rowCount;
6681
this.testDataColumnCount = columnCount;
6782
}
6883

84+
// --- Calling a Function for testing the model
6985
protected void testModel() {
7086
testClassificationModel();
7187
}
7288

89+
// --- Private Functions for intern calculations of the actual classification --------------------------------------
90+
// --- Function for getting the different classification classes and their number
7391
private void getClassificationClasses() {
7492
int numberOfClasses = 0;
7593
List<String> classes = new ArrayList<String>();
7694
List<String> tempClasses = Arrays.asList(this.trainingDataResults);
7795

96+
// Going through every column of the dataset (test data) and reading the result data (class)
7897
for (int i = 0; i < this.columnCount; i++) {
98+
// If the class is not already in the saved in the class array list, it will be added
7999
if (!classes.contains(tempClasses.get(i))) {
80100
classes.add(tempClasses.get(i));
81101
numberOfClasses++;
82-
//System.out.println(i);
83102
}
84103
}
85104

86105
this.numberOfClasses = numberOfClasses;
87106
this.classes = new String[this.numberOfClasses];
88107

108+
// Converting the array list to an array
89109
for (int i = 0; i < this.numberOfClasses; i++) {
90110
this.classes[i] = classes.get(i);
91-
//System.out.println(this.classes[i]);
92111
}
93112
}
94113

114+
// --- Function for sorting the classified data
95115
private void sortClassificationData() {
96116
ArrayList<ArrayList<ArrayList<Float>>> tempSortedClassificationData = new ArrayList<>();
97117
int [] tempNumberDataPerClass = new int[this.rowCount -1];
@@ -140,6 +160,7 @@ private void sortClassificationData() {
140160
}
141161
}
142162

163+
// --- Function for calculating the mean for every feature (training the model)
143164
private void calcFeatureMean() {
144165
this.featureMean = new float[this.numberOfClasses][this.rowCount -1];
145166
for (int i = 0; i < this.numberOfClasses; i++) {
@@ -154,6 +175,7 @@ private void calcFeatureMean() {
154175
}
155176
}
156177

178+
// --- Function for testing the classification model
157179
private void testClassificationModel() {
158180
this.predictedTestData = new String[this.testDataColumnCount][this.numberOfClasses][2];
159181
this.sortedProbability = new int[this.testDataColumnCount][this.numberOfClasses];

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /