public void TestBcLrSameModel()
        {
            var methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
            var output     = FileHelper.GetOutputFile("bc-lr.zip", methodName);
            var name       = FileHelper.GetOutputFile("bc.txt", methodName);
            var df         = DataFrameIO.ReadStr("Label,X1,X2,X3,X4,X5,X6,X7,X8,X9\n" +
                                                 "0,0.1,1.1,2.1,3.1,4.1,5.1,6.2,7.4,-5\n" +
                                                 "1,1.1,1.1,2.1,3.1,4.1,5.1,6.2,7.4,-5\n" +
                                                 "0,2.1,1.1,3.1,3.1,-4.1,5.1,6.2,7.4,-5\n" +
                                                 "1,3.1,1.1,4.1,3.1,4.1,-5.1,6.2,7.4,-5\n" +
                                                 "0,4.1,1.1,2.1,3.1,4.1,5.1,6.2,-7.4,-5");

            df.ToCsv(name);
            var cmd = string.Format("Train tr=lr data={0} out={1} loader=text{{col=Label:R4:0 col=Features:R4:1-* sep=, header=+}}",
                                    name, output);

            var        stdout = new StringBuilder();
            ILogWriter logout = new LogWriter((string s) => { stdout.Append(s); });
            ILogWriter logerr = new LogWriter((string s) => { stdout.Append(s); });
            /*using (*/
            var env = new DelegateEnvironment(seed: 0, verbose: 2, outWriter: logout, errWriter: logerr);

            MamlHelper.MamlScript(cmd, false, env);
            var stout = stdout.ToString();

            if (string.IsNullOrEmpty(stout))
            {
                throw new Exception(stout);
            }
        }
        public void TestMamlCodeGen()
        {
            var        methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
            var        data       = FileHelper.GetTestFile("data_train_test.csv");
            var        output     = FileHelper.GetOutputFile("model.zip", methodName);
            var        bout       = new StringBuilder();
            var        berr       = new StringBuilder();
            ILogWriter stout      = new LogWriter(s => bout.Append(s));
            ILogWriter sderr      = new LogWriter(s => berr.Append(s));
            var        cmd        = "chain cmd=train{\n" +
                                    "data = __INPUT__\n" +
                                    "loader = text{col=ItemID:I8:0 col=Sentiment:R4:1 col=SentimentSource:TX:2 \n" +
                                    "              col=SentimentText:TX:3 col=RowNum:R4:4 \n" +
                                    "              col=Label:BL:5 col=Train:BL:6 col=Small:BL:7 header=+ sep=,}\n" +
                                    "xf = concat {col=Features:RowNum,Sentiment}\n" +
                                    "tr = FastTreeBinaryClassification{iter=2}\n" +
                                    "out = __OUTPUT__} \n" +
                                    "cmd = codegen{in=__OUTPUT__ cs=ft_sentiment_cs}";

            cmd = cmd.Replace("__INPUT__", data);
            cmd = cmd.Replace("__OUTPUT__", output);

            using (var env = new DelegateEnvironment(outWriter: stout, errWriter: sderr, verbose: 3))
            {
                MamlHelper.MamlScript(cmd, false, env);
                var sout = bout.ToString();
                Assert.IsTrue(sout.Length > 0);
                Assert.IsTrue(!sout.Contains("Unknown"));
            }
        }
        public void TestMamlHelperKinds()
        {
            var kinds = MamlHelper.GetAllKinds();

            Assert.IsTrue(kinds.Length > 0);
            Assert.IsTrue(kinds.Where(c => c == "trainer").Any());
            Assert.IsTrue(kinds.Where(c => c == "datatransform").Any());
        }
        public void TestMamlHelperTrainer()
        {
            var trainers = MamlHelper.EnumerateComponents("trainer").ToArray();

            Assert.IsTrue(trainers.Length > 0);
            var df = trainers.First().GetArgsAsDataFrame();

            Assert.AreEqual(df.Shape.Item2, 4);
        }
        public void TestMamlHelperHelp()
        {
            var sout = MamlHelper.MamlScript("?", true);

            if (!sout.Contains("Train"))
            {
                throw new Exception(sout);
            }
        }
        public void TestMamlHelperParameter()
        {
            var dt    = MamlHelper.EnumerateComponents("argument").ToArray();
            var names = dt.Select(c => c.Name).ToArray();

            Assert.IsTrue(dt.Length > 0);
            Assert.IsTrue(names.Length > 0);
            var df = dt.First().GetArgsAsDataFrame();

            Assert.AreEqual(df.Shape.Item2, 4);
            Assert.IsTrue(names.Where(c => c.Contains("Ngram")).Any());
        }
        public void TestMamlHelperTest2_AssemblyList()
        {
            MamlHelper.TestScikitAPI2();
            LinkHelper._Immutable();
            var ass = MamlHelper.GetLoadedAssemblies();

            Assert.IsTrue(ass.Length > 0);
            var methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
            var outData    = FileHelper.GetOutputFile("loaded_assemblies.txt", methodName);

            File.WriteAllText(outData, string.Join("\n", ass));
        }
        public void TestHelpScorer()
        {
            var        bout  = new StringBuilder();
            var        berr  = new StringBuilder();
            ILogWriter stout = new LogWriter(s => bout.Append(s));
            ILogWriter sderr = new LogWriter(s => berr.Append(s));

            using (var env = new DelegateEnvironment(outWriter: stout, errWriter: sderr, verbose: 3))
            {
                var cmd = "? MultiClassClassifierScorer";
                MamlHelper.MamlScript(cmd, false, env);
                var sout = bout.ToString();
                Assert.IsTrue(sout.Length > 0);
                Assert.IsTrue(!sout.Contains("Unknown"));
            }
        }
 public void TestHelpModels()
 {
     foreach (var name in new[] { "Resample" })
     {
         var        bout  = new StringBuilder();
         var        berr  = new StringBuilder();
         ILogWriter stout = new LogWriter(s => bout.Append(s));
         ILogWriter sderr = new LogWriter(s => berr.Append(s));
         using (var env = new DelegateEnvironment(outWriter: stout, errWriter: sderr, verbose: 3))
         {
             var cmd = $"? {name}";
             MamlHelper.MamlScript(cmd, false, env: env);
             var sout = bout.ToString();
             var serr = berr.ToString();
             Assert.IsTrue(!serr.Contains("Can't instantiate"));
             Assert.IsTrue(sout.Length > 0);
             Assert.IsTrue(!sout.Contains("Unknown"));
         }
     }
 }
        public void TestCSGenerator()
        {
            var        methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
            var        basePath   = FileHelper.GetOutputFile("CSharpApiExt.cs", methodName);
            var        cmd        = $"? generator=cs{{csFilename={basePath} exclude=System.CodeDom.dll}}";
            var        bout       = new StringBuilder();
            var        berr       = new StringBuilder();
            ILogWriter stout      = new LogWriter(s => bout.Append(s));
            ILogWriter sderr      = new LogWriter(s => berr.Append(s));

            using (var env = new DelegateEnvironment(outWriter: stout, errWriter: sderr, verbose: 3))
            {
                MamlHelper.MamlScript(cmd, false, env: env);
                var sout = bout.ToString();
                var serr = berr.ToString();
                Assert.IsTrue(sout.Length > 0);
                Assert.IsTrue(serr.Length == 0);
                Assert.IsFalse(sout.ToLower().Contains("usage"));
            }
            var text = File.ReadAllText(basePath);

            Assert.IsTrue(text.ToLower().Contains("nearest"));
        }
 public void TestMamlHelperTest()
 {
     MamlHelper.TestScikitAPI();
 }
        public void TestMamlHelperCalibrator()
        {
            var cal = MamlHelper.EnumerateComponents("calibrator").ToArray();

            Assert.IsTrue(cal.Length > 0);
        }
Exemplo n.º 13
0
 public static string[] GetAllKinds()
 {
     return(MamlHelper.GetAllKinds());
 }
Exemplo n.º 14
0
        public static string MamlScript(string script, bool catch_output,
                                        int conc             = 0, int verbose = 2, int sensitivity = -1,
                                        bool skipFailLoading = false)
        {
            ILogWriter logout, logerr;
            var        stout = new StringBuilder();
            var        sterr = new StringBuilder();

            if (catch_output)
            {
                logout = new LogWriter((string s) =>
                {
                    stout.Append(s);
                });
                logerr = new LogWriter((string s) =>
                {
                    sterr.Append(s);
                });
            }
            else
            {
                logout = new LogWriter((string s) => { Console.Write(s); });
                logerr = new LogWriter((string s) => { Console.Error.Write(s); });
            }

            using (var env = new DelegateEnvironment((int?)null, verbose, (MessageSensitivity)sensitivity, conc, logout, logerr))
            {
                if (skipFailLoading)
                {
                    try
                    {
                        ComponentHelper.AddStandardComponents(env);
                    }
                    catch (Exception e)
                    {
                        sterr.Append($"Unable to load an assembly due to {e.ToString()}.\n");
                    }
                }
                else
                {
                    ComponentHelper.AddStandardComponents(env);
                }

                string res = null;
                try
                {
                    res = MamlHelper.MamlScript(script, false, env);
                    if (!string.IsNullOrEmpty(res))
                    {
                        stout.Append(res);
                    }
                }
                catch (InvalidOperationException e)
                {
                    if (!string.IsNullOrEmpty(res))
                    {
                        sterr.Append(res + "\n");
                    }
                    sterr.Append($"[PyMamlHelper-InvalidOperationException] catch_output={catch_output}\n" + e.ToString() + "\n");
                }
                catch (MamlException e)
                {
                    if (!string.IsNullOrEmpty(res))
                    {
                        sterr.Append(res + "\n");
                    }
                    sterr.Append($"[PyMamlHelper-MamlException] catch_output={catch_output}\n" + e.ToString() + "\n");
                }
                if (sterr.Length > 0)
                {
                    return(string.Format("---OUT---\n{0}\n---ERR---\n{1}", stout.ToString(), sterr.ToString()));
                }
                else
                {
                    return(stout.ToString());
                }
            }
        }
Exemplo n.º 15
0
 public static MamlHelper.ComponentDescription[] ListOfComponents(string kind)
 {
     return(MamlHelper.EnumerateComponents(kind).ToArray());
 }