Пример #1
0
        public void TestOldSavingAndLoading()
        {
            var data = new[] { new TestClass()
                               {
                                   A = 1, B = 2, C = 3,
                               }, new TestClass()
                               {
                                   A = 4, B = 5, C = 6
                               } };
            var dataView = ComponentCreation.CreateDataView(Env, data);
            var pipe     = new HashEstimator(Env, new[] {
                new HashTransformer.ColumnInfo("A", "HashA", hashBits: 4, invertHash: -1),
                new HashTransformer.ColumnInfo("B", "HashB", hashBits: 3, ordered: true),
                new HashTransformer.ColumnInfo("C", "HashC", seed: 42),
                new HashTransformer.ColumnInfo("A", "HashD"),
            });
            var result      = pipe.Fit(dataView).Transform(dataView);
            var resultRoles = new RoleMappedData(result);

            using (var ms = new MemoryStream())
            {
                TrainUtils.SaveModel(Env, Env.Start("saving"), ms, null, resultRoles);
                ms.Position = 0;
                var loadedView = ModelFileUtils.LoadTransforms(Env, dataView, ms);
            }
        }
Пример #2
0
        public void TestMetadata()
        {
            var data = new[] {
                new TestMeta()
                {
                    A = new float[2] {
                        3.5f, 2.5f
                    }, B = 1, C = new double[2] {
                        5.1f, 6.1f
                    }, D = 7
                },
                new TestMeta()
                {
                    A = new float[2] {
                        3.5f, 2.5f
                    }, B = 1, C = new double[2] {
                        5.1f, 6.1f
                    }, D = 7
                },
                new TestMeta()
                {
                    A = new float[2] {
                        3.5f, 2.5f
                    }, B = 1, C = new double[2] {
                        5.1f, 6.1f
                    }, D = 7
                }
            };


            var dataView = ComponentCreation.CreateDataView(Env, data);
            var pipe     = new HashEstimator(Env, new[] {
                new HashTransformer.ColumnInfo("A", "HashA", invertHash: 1, hashBits: 10),
                new HashTransformer.ColumnInfo("A", "HashAUnlim", invertHash: -1, hashBits: 10),
                new HashTransformer.ColumnInfo("A", "HashAUnlimOrdered", invertHash: -1, hashBits: 10, ordered: true)
            });
            var result = pipe.Fit(dataView).Transform(dataView);

            ValidateMetadata(result);
            Done();
        }