Exemplo n.º 1
0
        private void LoadRelations(CrowdRecDataContainer container)
        {
            Console.WriteLine("Importing relations...");

            foreach (var line in File.ReadAllLines(_relationsFile))
            {
                var tokens = line.Split('\t');

                if (tokens.Length < 5)
                {
                    throw new Exception("Expect 5 tab seperated fields.");
                }

                string relationType = tokens[0];
                string relationId   = tokens[1];

                double temp;
                double?timestamp;

                if (double.TryParse(tokens[2], out temp))
                {
                    timestamp = temp;
                }
                else
                {
                    timestamp = null;
                }

                ItemRating ir = container.CreateItemRating(relationId, timestamp, tokens[3], tokens[4]);

                container.Ratings.Add(ir);
            }
        }
Exemplo n.º 2
0
        private void LoadEntities(CrowdRecDataContainer container)
        {
            Console.WriteLine("Importing entities...");

            foreach (var line in File.ReadAllLines(_entitiesFile))
            {
                var tokens = line.Split('\t');

                string entityType = tokens[0];
                string entityId   = tokens[1];

                double temp;
                double?timestamp;

                if (double.TryParse(tokens[2], out temp))
                {
                    timestamp = temp;
                }
                else
                {
                    timestamp = null;
                }

                string properties = tokens.Length > 3 ? tokens[3] : "{}";

                if (entityType.ToLower() == "user")
                {
                    container.Users.Add(entityId, container.CreateUser(entityId, timestamp, properties));
                }
                else if (entityType.ToLower() == "movie")
                {
                    container.Items.Add(entityId, container.CreateItem(entityId, timestamp, properties));
                }
            }
        }
Exemplo n.º 3
0
        private void LoadRelations(CrowdRecDataContainer container)
        {
            Console.WriteLine("Importing relations...");

            foreach (var line in File.ReadAllLines(_relationsFile))
            {
                var tokens = line.Split('\t');

                if (tokens.Length < 5)
                    throw new Exception("Expect 5 tab seperated fields.");

                string relationType = tokens[0];
                string relationId = tokens[1];

                double temp;
                double? timestamp;

                if (double.TryParse(tokens[2], out temp))
                    timestamp = temp;
                else
                    timestamp = null;

                ItemRating ir = container.CreateItemRating(relationId, timestamp, tokens[3], tokens[4]);

                container.Ratings.Add(ir);
            }
        }
Exemplo n.º 4
0
        private void LoadEntities(CrowdRecDataContainer container)
        {
            Console.WriteLine("Importing entities...");

            foreach (var line in File.ReadAllLines(_entitiesFile))
            {
                var tokens = line.Split('\t');

                string entityType = tokens[0];
                string entityId = tokens[1];

                double temp;
                double? timestamp;

                if (double.TryParse(tokens[2], out temp))
                    timestamp = temp;
                else
                    timestamp = null;

                string properties = tokens.Length > 3 ? tokens[3] : "{}";

                if (entityType.ToLower() == "user")
                    container.Users.Add(entityId, container.CreateUser(entityId, timestamp, properties));
                else if (entityType.ToLower() == "movie")
                    container.Items.Add(entityId, container.CreateItem(entityId, timestamp, properties));
            }
        }
Exemplo n.º 5
0
        public void RunDemo()
        {
            // step 1: load dataset
            var container = new CrowdRecDataContainer();
            var reader = new CrowdRecDataReader(_entitesFile, _relationsFile);
            reader.LoadData(container);

            var dataset = new ItemRatingDataset(container, 0.3f);

            // step 2: recommender
            var recommender = new MediaLiteRatingPredictor(new BiasedMatrixFactorization());

            // step 3: evaluations
            var pipline = new EvaluationPipeline<ItemRating>(new EvalutationContext<ItemRating>(recommender, dataset));
            pipline.Evaluators.Add(new RMSE());
            pipline.Evaluators.Add(new MAE());

            pipline.Run();
        }
Exemplo n.º 6
0
        public void RunDemo()
        {
            // step 1: load dataset
            var container = new CrowdRecDataContainer();
            var reader    = new CrowdRecDataReader(_entitesFile, _relationsFile);

            reader.LoadData(container);

            var dataset = new ItemRatingDataset(container, 0.3f);

            // step 2: recommender
            var recommender = new MediaLiteRatingPredictor(new BiasedMatrixFactorization());

            // step 3: evaluations
            var pipline = new EvaluationPipeline <ItemRating>(new EvalutationContext <ItemRating>(recommender, dataset));

            pipline.Evaluators.Add(new RMSE());
            pipline.Evaluators.Add(new MAE());

            pipline.Run();
        }