added WeekOverview
This commit is contained in:
parent
0c3b480023
commit
713d972953
73
src/main/java/de/hsel/spm/baudas/analysis/WeekOverview.java
Normal file
73
src/main/java/de/hsel/spm/baudas/analysis/WeekOverview.java
Normal file
@ -0,0 +1,73 @@
|
||||
package de.hsel.spm.baudas.analysis;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import weka.core.Instance;
|
||||
import weka.core.Instances;
|
||||
import weka.filters.Filter;
|
||||
import weka.filters.unsupervised.attribute.Remove;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Week Overview Analysis
|
||||
*
|
||||
* @author Julian Hinxlage
|
||||
* @version 0.1
|
||||
* @since 0.1
|
||||
**/
|
||||
public class WeekOverview implements Analysis<Map<String, Integer>> {
|
||||
|
||||
private Instances instances;
|
||||
private Map<String, Integer> result;
|
||||
|
||||
public WeekOverview(File file) {
|
||||
result = new HashMap<String, Integer>();
|
||||
instances = load(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Integer> getResult() {
|
||||
|
||||
int[] keepIndexes = new int[]{5, 10};
|
||||
int dayIndex = 0;
|
||||
int amountIndex = 1;
|
||||
|
||||
|
||||
try {
|
||||
//Remove all other attributes
|
||||
Remove remove = new Remove();
|
||||
remove.setAttributeIndicesArray(keepIndexes);
|
||||
remove.setInvertSelection(true);
|
||||
remove.setInputFormat(instances);
|
||||
instances = Filter.useFilter(instances, remove);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < instances.attribute(dayIndex).numValues(); i++) {
|
||||
String day = instances.attribute(dayIndex).value(i);
|
||||
|
||||
System.out.println(day);
|
||||
|
||||
|
||||
for (int j = 0; j < instances.attribute(amountIndex).numValues(); j++) {
|
||||
String amount = instances.attribute(amountIndex).value(j);
|
||||
|
||||
System.out.println(amount);
|
||||
|
||||
int x = Integer.parseInt(amount);
|
||||
|
||||
if(!result.containsKey(day)){
|
||||
result.put(day,0);
|
||||
}
|
||||
result.put(day,result.get(day) + x);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
30
src/test/java/de/hsel/spm/baudas/WeekOverviewTest.java
Normal file
30
src/test/java/de/hsel/spm/baudas/WeekOverviewTest.java
Normal file
@ -0,0 +1,30 @@
|
||||
package de.hsel.spm.baudas;
|
||||
|
||||
import de.hsel.spm.baudas.analysis.WeekOverview;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* Week Overview Analysis Test
|
||||
*
|
||||
* @author Julian Hinxlage
|
||||
* @version 0.1
|
||||
* @since 0.1
|
||||
**/
|
||||
public class WeekOverviewTest {
|
||||
|
||||
@Test
|
||||
public void test(){
|
||||
WeekOverview overview = new WeekOverview(new File(getClass().getClassLoader().getResource("kd100.csv").getFile()));
|
||||
|
||||
Map<String, Integer> result = overview.getResult();
|
||||
|
||||
for(Map.Entry<String, Integer> i : result.entrySet()){
|
||||
System.out.println(i.getKey() + " = " + i.getValue());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
BIN
target/classes/META-INF/bauDas-kundenkarten.kotlin_module
Normal file
BIN
target/classes/META-INF/bauDas-kundenkarten.kotlin_module
Normal file
Binary file not shown.
Binary file not shown.
BIN
target/classes/de/hsel/spm/baudas/analysis/Analysis.class
Normal file
BIN
target/classes/de/hsel/spm/baudas/analysis/Analysis.class
Normal file
Binary file not shown.
BIN
target/classes/de/hsel/spm/baudas/analysis/WeekOverview.class
Normal file
BIN
target/classes/de/hsel/spm/baudas/analysis/WeekOverview.class
Normal file
Binary file not shown.
BIN
target/test-classes/META-INF/bauDas-kundenkarten.kotlin_module
Normal file
BIN
target/test-classes/META-INF/bauDas-kundenkarten.kotlin_module
Normal file
Binary file not shown.
BIN
target/test-classes/de/hsel/spm/baudas/WeekOverviewTest.class
Normal file
BIN
target/test-classes/de/hsel/spm/baudas/WeekOverviewTest.class
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user