예제 #1
0
 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;
 }
예제 #2
0
        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);
        }
예제 #3
0
 public EntityUnitOfWork(ApplicationDbContext db, IActivityForest forest)
 {
     _forest = forest;
     this.db = db;
 }