当前位置: 首页>>代码示例>>C#>>正文


C# Descriptor.Convert方法代码示例

本文整理汇总了C#中Descriptor.Convert方法的典型用法代码示例。如果您正苦于以下问题:C# Descriptor.Convert方法的具体用法?C# Descriptor.Convert怎么用?C# Descriptor.Convert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Descriptor的用法示例。


在下文中一共展示了Descriptor.Convert方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Generate

        /// <summary>Generates.</summary>
        /// <param name="desc">The description.</param>
        /// <param name="examples">The examples.</param>
        /// <param name="linker">The linker.</param>
        /// <returns>A Cluster.</returns>
        public Cluster Generate(Descriptor desc, IEnumerable<object> examples, ILinker linker)
        {
            // Load data 
            var exampleArray = examples.ToArray();
            Descriptor = desc;
            Matrix X = Descriptor.Convert(examples).ToMatrix();

            return GenerateClustering(X, linker, exampleArray);
        }
开发者ID:m-abubakar,项目名称:numl,代码行数:14,代码来源:HClusterModel.cs

示例2: Generate

        public Cluster Generate(Descriptor descriptor, IEnumerable<object> examples, int k, IDistance metric = null)
        {
            var data = examples.ToArray();
            Descriptor = descriptor;
            Matrix X = Descriptor.Convert(examples).ToMatrix();

            var assignments = Generate(X, k, metric);

            return GenerateClustering(X, assignments, data);
        }
开发者ID:budbjames,项目名称:numl,代码行数:10,代码来源:KMeans.cs

示例3: Generate

        public Cluster Generate(Descriptor descriptor, IEnumerable<object> examples, int k, IDistance metric = null)
        {
            var data = examples.ToArray();
            Descriptor = descriptor;
            X = Descriptor.Convert(data).ToMatrix();

            // generate assignments
            var assignments = Generate(X, k, metric);

            // begin packing objects into clusters
            var objects = new List<object>[k];
            for (int i = 0; i < assignments.Length; i++)
            {
                var a = assignments[i];
                if (objects[a] == null) objects[a] = new List<object>();
                objects[a].Add(data[i]);
            }

            // create clusters
            List<Cluster> clusters = new List<Cluster>();
            for(int i = 0; i < k; i++)
                if(!Centers[i].IsNaN()) // check for degenerate clusters
                    clusters.Add(new Cluster
                    {
                        Id = i + 1,
                        Center = Centers[i],
                        Members = objects[i].ToArray(),
                        Children = new Cluster[] { }
                    });

            // return single cluster with K children
            return new Cluster
            {
                Id = 0,
                Center = X.Mean(VectorType.Row),
                Children = clusters.ToArray()
            };
        }
开发者ID:vladtepes1473,项目名称:numl,代码行数:38,代码来源:KMeans.cs

示例4: Test_Vector_Expando_Conversion_Simple_Numbers

        public void Test_Vector_Expando_Conversion_Simple_Numbers()
        {
            Descriptor d = new Descriptor();
            d.Features = new Property[]
            {
                new Property { Name = "Age", },
                new Property { Name = "Height", },
                new Property { Name = "Weight", },
                new Property { Name = "Good", },
            };

            dynamic item = new ExpandoObject();
            item.Age = 23;
            item.Height = 6.21;
            item.Weight = 220m;
            item.Good = false;

            var truths = new double[] { 23, 6.21, 220, -1 };
            var actual = d.Convert(item);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:21,代码来源:SimpleConversionTests.cs

示例5: Test_Vector_Dictionary_Conversion_Simple_Numbers

        public void Test_Vector_Dictionary_Conversion_Simple_Numbers()
        {
            Descriptor d = new Descriptor();
            d.Features = new Property[]
            {
                new Property { Name = "Age", },
                new Property { Name = "Height", },
                new Property { Name = "Weight", },
                new Property { Name = "Good", },
            };

            Dictionary<string, object> item = new Dictionary<string, object>();
            item["Age"] = 23;
            item["Height"] = 6.21;
            item["Weight"] = 220m;
            item["Good"] = false;

            var truths = new double[] { 23, 6.21, 220, -1 };
            var actual = d.Convert(item);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:21,代码来源:SimpleConversionTests.cs

示例6: Test_Vector_DataRow_Conversion_Simple_Numbers

        public void Test_Vector_DataRow_Conversion_Simple_Numbers()
        {
            Descriptor d = new Descriptor();
            d.Features = new Property[]
            {
                new Property { Name = "Age", },
                new Property { Name = "Height", },
                new Property { Name = "Weight", },
                new Property { Name = "Good", },
            };

            DataTable table = new DataTable("student");
            var age = table.Columns.Add("Age", typeof(int));
            var height = table.Columns.Add("Height", typeof(double));
            var weight = table.Columns.Add("Weight", typeof(decimal));
            var good = table.Columns.Add("Good", typeof(bool));

            DataRow row = table.NewRow();
            row[age] = 23;
            row[height] = 6.21;
            row[weight] = 220m;
            row[good] = false;

            var truths = new double[] { 23, 6.21, 220, -1 };
            var actual = d.Convert(row);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:27,代码来源:SimpleConversionTests.cs

示例7: Test_Vector_Conversion_Simple_Numbers_And_Strings_As_Enum

        public void Test_Vector_Conversion_Simple_Numbers_And_Strings_As_Enum()
        {
            Descriptor d = new Descriptor();

            var dictionary = StringHelpers.BuildWordDictionary(WordStrings)
                                          .Select(k => k.Key)
                                          .ToArray();

            d.Features = new Property[]
            {
                new Property { Name = "Age" },
                new Property { Name = "Height" },
                new StringProperty { Name = "Words", Dictionary = dictionary, AsEnum = true },
                new Property { Name = "Weight" },
                new Property { Name = "Good" },

            };

            // [THE, QUICK, BROWN, FOX, #NUM#, SUPER, BEAR, UGLY]
            // [  0,     1,     2,   3,     4,     5,    6,    7]

            var o = new { Age = 23, Height = 6.21d, Weight = 220m, Good = false, Words = "QUICK" };

            // array generated by descriptor ordering
            var truths = new double[] { 23, 6.21,
                                        /* BEGIN TEXT */
                                        1,
                                        /* END TEXT */
                                        220, -1 };
            var actual = d.Convert(o);
            Assert.AreEqual(truths, actual);

            o = new { Age = 23, Height = 6.21d, Weight = 220m, Good = false, Words = "sUpEr" };
            // array generated by descriptor ordering
            truths = new double[] { 23, 6.21,
                                        /* BEGIN TEXT */
                                        5,
                                        /* END TEXT */
                                        220, -1 };
            actual = d.Convert(o);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:42,代码来源:SimpleConversionTests.cs

示例8: Test_Vector_Conversion_Simple_Numbers_And_Strings

        public void Test_Vector_Conversion_Simple_Numbers_And_Strings()
        {
            Descriptor d = new Descriptor();

            var dictionary = StringHelpers.BuildWordDictionary(WordStrings)
                                          .Select(k => k.Key)
                                          .ToArray();

            d.Features = new Property[]
            {
                new Property { Name = "Age" },
                new Property { Name = "Height" },
                new StringProperty { Name = "Words", Dictionary = dictionary },
                new Property { Name = "Weight" },
                new Property { Name = "Good" },

            };

            // [THE, QUICK, BROWN, FOX, #NUM#, SUPER, BEAR, UGLY]
            // [  1,     0,     1,   0,     1,     0,    0,    0]

            var o = new { Age = 23, Height = 6.21d, Weight = 220m, Good = false, Words = "the brown 432" };

            // array generated by descriptor ordering
            var truths = new double[] { 23, 6.21,
                                        /* BEGIN TEXT */
                                        1, 0, 1, 0, 1, 0, 0, 0,
                                        /* END TEXT */
                                        220, -1 };
            var actual = d.Convert(o);
            Assert.AreEqual(truths, actual);
            // offset test
            Assert.AreEqual(10, d.Features[3].Start);
            Assert.AreEqual(11, d.Features[4].Start);
        }
开发者ID:pinkli,项目名称:numl,代码行数:35,代码来源:SimpleConversionTests.cs

示例9: Test_Vector_Conversion_Simple_Numbers_And_Chars_As_Enum

        public void Test_Vector_Conversion_Simple_Numbers_And_Chars_As_Enum()
        {
            Descriptor d = new Descriptor();

            var dictionary = StringHelpers.BuildCharDictionary(ShortStrings)
                                          .Select(k => k.Key)
                                          .ToArray();

            d.Features = new Property[]
            {
                new Property { Name = "Age" },
                new Property { Name = "Height" },
                new StringProperty {
                    Name = "Chars",
                    Dictionary = dictionary,
                    SplitType = StringSplitType.Character,
                    AsEnum = true
                },
                new Property { Name = "Weight" },
                new Property { Name = "Good" },

            };

            // ["O",  "N",  "E", "#SYM#", "T", "W", "#NUM#", "H", "R"]
            // [  2,    1,   0,        1,   0,   0,       1,   0,   3]

            var o = new { Age = 23, Height = 6.21d, Chars = "N", Weight = 220m, Good = false, };

            // array generated by descriptor ordering
            var truths = new double[] { 23, 6.21,
                                        /* BEGIN CHARS */
                                        1,
                                        /* END CHARS */
                                        220, -1 };

            var actual = d.Convert(o);
            Assert.AreEqual(truths, actual);

            o = new { Age = 23, Height = 6.21d, Chars = "!", Weight = 220m, Good = false, };

            // array generated by descriptor ordering
            truths = new double[] { 23, 6.21,
                                    /* BEGIN CHARS */
                                    3,
                                    /* END CHARS */
                                    220, -1 };

            actual = d.Convert(o);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:50,代码来源:SimpleConversionTests.cs

示例10: Test_Vector_Conversion_Simple_Numbers

        public void Test_Vector_Conversion_Simple_Numbers()
        {
            Descriptor d = new Descriptor();
            d.Features = new Property[]
            {
                new Property { Name = "Age", Type = typeof(int) },
                new Property { Name = "Height", Type=typeof(double) },
                new Property { Name = "Weight", Type = typeof(decimal) },
                new Property { Name = "Good", Type=typeof(bool) },
            };

            var o = new { Age = 23, Height = 6.21d, Weight = 220m, Good = false };

            var truths = new double[] { 23, 6.21, 220, -1 };
            var actual = d.Convert(o);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:17,代码来源:SimpleConversionTests.cs

示例11: Test_Matrix_Conversion_With_Label

        public void Test_Matrix_Conversion_With_Label()
        {
            Descriptor d = new Descriptor();

            d.Features = new Property[]
            {
                new Property { Name = "Age" },
                new Property { Name = "Height" },
                new Property { Name = "Weight" },
                new Property { Name = "Good" },
            };

            d.Label = new Property { Name = "Nice" };

            var o = new[] {
                new { Age = 23, Height = 6.21d, Weight = 220m, Good = false, Nice = true },
                new { Age = 12, Height = 4.2d, Weight = 120m, Good = true, Nice = false },
                new { Age = 9, Height = 6.0d, Weight = 340m, Good = true, Nice = true },
                new { Age = 87, Height = 3.7d, Weight = 79m, Good = false, Nice = false }
            };

            // array generated by descriptor ordering
            // (returns IEnumerable, but should pass)
            var truths = new double[][] {
                new double[] { 23, 6.21, 220, -1, 1 },
                new double[] { 12,  4.2,  120, 1, -1 },
                new double[] { 9,  6.0,  340,  1, 1 },
                new double[] { 87,  3.7,  79,  -1, -1 }
            };

            var actual = d.Convert(o);
            Assert.AreEqual(truths, actual);
        }
开发者ID:pinkli,项目名称:numl,代码行数:33,代码来源:SimpleConversionTests.cs

示例12: Generate

 /// <summary>Generates.</summary>
 /// <param name="descriptor">The descriptor.</param>
 /// <param name="examples">The examples.</param>
 public void Generate(Descriptor descriptor, IEnumerable<object> examples)
 {
     // generate data matrix
     var x = descriptor.Convert(examples).ToMatrix();
     Generate(x);
 }
开发者ID:sethjuarez,项目名称:numl,代码行数:9,代码来源:PCA.cs


注:本文中的Descriptor.Convert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。