예제 #1
0
        public void RffWorkout()
        {
            Random rand = new Random();
            var    data = new[] {
                new TestClass()
                {
                    A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray()
                },
                new TestClass()
                {
                    A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray()
                }
            };
            var invalidData = ML.Data.ReadFromEnumerable(new[] { new TestClassInvalidSchema {
                                                                     A = 1
                                                                 }, new TestClassInvalidSchema {
                                                                     A = 1
                                                                 } });
            var validFitInvalidData = ML.Data.ReadFromEnumerable(new[] { new TestClassBiggerSize {
                                                                             A = new float[200]
                                                                         }, new TestClassBiggerSize {
                                                                             A = new float[200]
                                                                         } });
            var dataView  = ML.Data.ReadFromEnumerable(data);
            var generator = new GaussianFourierSampler.Arguments();

            var pipe = new RandomFourierFeaturizingEstimator(Env, new[] {
                new RandomFourierFeaturizingTransformer.ColumnInfo("RffA", 5, false, "A"),
                new RandomFourierFeaturizingTransformer.ColumnInfo("RffB", 10, true, "A", new LaplacianFourierSampler.Arguments())
            });

            TestEstimatorCore(pipe, dataView, invalidInput: invalidData, validForFitNotValidForTransformInput: validFitInvalidData);
            Done();
        }
예제 #2
0
        public void TestOldSavingAndLoading()
        {
            Random rand = new Random();
            var    data = new[] {
                new TestClass()
                {
                    A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray()
                },
                new TestClass()
                {
                    A = Enumerable.Range(0, 100).Select(x => (float)rand.NextDouble()).ToArray()
                }
            };
            var dataView = ML.Data.ReadFromEnumerable(data);

            var est = new RandomFourierFeaturizingEstimator(Env, new[] {
                new RandomFourierFeaturizingTransformer.ColumnInfo("RffA", 5, false, "A"),
                new RandomFourierFeaturizingTransformer.ColumnInfo("RffB", 10, true, "A", new LaplacianFourierSampler.Arguments())
            });
            var result      = est.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);
            }
        }