50 lines
1.2 KiB
Java
50 lines
1.2 KiB
Java
package de.hsel.spm.baudas.analysis;
|
|
|
|
import weka.core.Instance;
|
|
import weka.core.Instances;
|
|
|
|
import java.io.File;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Shopping Times Analysis.
|
|
*
|
|
* @author Johannes Theiner
|
|
* @version 0.1
|
|
* @since 0.1
|
|
**/
|
|
public class ShoppingTimes implements Analysis<Map<DayHour, Integer>> {
|
|
|
|
private Instances instances;
|
|
private Map<DayHour, Integer> result;
|
|
|
|
public ShoppingTimes(File file) {
|
|
instances = load(file);
|
|
}
|
|
|
|
|
|
/**
|
|
* get customer count at specific times.
|
|
*
|
|
* @return Map of Day-Hour Combinations and the corresponding customer count
|
|
*/
|
|
@Override
|
|
public Map<DayHour, Integer> getResult() {
|
|
if (result != null) {
|
|
return result;
|
|
}
|
|
|
|
result = new HashMap<>();
|
|
|
|
for (Instance instance : instances) {
|
|
DayHour dayHour = new DayHour(instance.stringValue(Attribute.SHOPPING_DAY), instance.stringValue(Attribute.SHOPPING_HOUR));
|
|
int tmp = 1;
|
|
if (result.containsKey(dayHour))
|
|
tmp = result.get(dayHour) + 1;
|
|
|
|
result.put(dayHour, tmp);
|
|
}
|
|
return result;
|
|
}
|
|
} |