public ActivityService(IActivityAccessor acc, IUserAccessor uAcc, IUserBadgeAccessor ubAcc, IUserGoalAccessor ugAcc, IBadgeAccessor bAcc, IGoalAccessor gAcc, IActivityForest forest, IActivityReportAccessor arAcc) { _forest = forest; _acc = acc; _arAcc = arAcc; _uAcc = uAcc; _ubAcc = ubAcc; _ugAcc = ugAcc; _bAcc = bAcc; _gAcc = gAcc; }
public void BuildForest(IEnumerable <Activity> activities) { var data = activities.Select(a => new Tuple <Activity, Activity>(a, a)); Converter <Activity, FSharpOption <ActivityType> > labelConverter = a => new FSharpOption <ActivityType>(a.Type); var label = new Tuple <String, Charon.Featurization.Feature <Activity> >("Type", Charon.Featurization.Categorical <Activity, ActivityType>((FSharpFunc <Activity, FSharpOption <ActivityType> > .FromConverter(labelConverter)))); Converter <Activity, FSharpOption <double> > durConv = a => new FSharpOption <double>(a.Duration); var dur = new Tuple <String, Charon.Featurization.Feature <Activity> >("Duration", Charon.Featurization.Numerical <Activity, double>((FSharpFunc <Activity, FSharpOption <double> > .FromConverter(durConv)))); Converter <Activity, FSharpOption <double> > disConv = a => new FSharpOption <double>(a.Distance); var dis = new Tuple <String, Charon.Featurization.Feature <Activity> >("Distance", Charon.Featurization.Numerical <Activity, double>((FSharpFunc <Activity, FSharpOption <double> > .FromConverter(disConv)))); Converter <Activity, FSharpOption <long> > stepConv = a => new FSharpOption <long>(a.Steps); var step = new Tuple <String, Charon.Featurization.Feature <Activity> >("Steps", Charon.Featurization.Numerical <Activity, long>((FSharpFunc <Activity, FSharpOption <long> > .FromConverter(stepConv)))); var features = FSharpList <Tuple <String, Charon.Featurization.Feature <Activity> > > .Cons(step, FSharpList <Tuple <String, Charon.Featurization.Feature <Activity> > > .Cons(dis, FSharpList <Tuple <String, Charon.Featurization.Feature <Activity> > > .Cons(dur, FSharpList <Tuple <String, Charon.Featurization.Feature <Activity> > > .Empty))); // equivalent to let features = [step; dis; dur] :( var forest = Charon.Learning.forest <Activity, Activity>(data, label, features, Charon.Learning.DefaultSettings); _forest = new CharonActivityForestAdapter(forest); }
public EntityUnitOfWork(ApplicationDbContext db, IActivityForest forest) { _forest = forest; this.db = db; }