private void WizardCommand()
{
String targetCSVFile = _cmd.Args[0];
String egaFile = FileUtil.ForceExtension(targetCSVFile, "ega");
var analyst = new EncogAnalyst();
var wizard = new AnalystWizard(analyst);
bool headers = _cmd.PromptBoolean("headers", true);
AnalystFileFormat format =
ConvertStringConst.String2AnalystFileFormat(_cmd.PromptString("format", "decpnt|comma"));
String goal = _cmd.PromptString("goal", "c").ToLower().Trim();
if (goal.Equals("c"))
{
wizard.Goal = AnalystGoal.Classification;
}
else if (goal.Equals("r"))
{
wizard.Goal = AnalystGoal.Regression;
}
else
{
Console.WriteLine(@"Invalid goal: " + goal);
return;
}
wizard.TargetFieldName = _cmd.PromptString("targetField", "");
String m = _cmd.PromptString("method", "ff").ToLower();
if (m.Equals("ff"))
{
wizard.MethodType = WizardMethodType.FeedForward;
}
else if (m.Equals("neat"))
{
wizard.MethodType = WizardMethodType.NEAT;
}
else if (m.Equals("pnn"))
{
wizard.MethodType = WizardMethodType.PNN;
}
else if (m.Equals("rbf"))
{
wizard.MethodType = WizardMethodType.RBF;
}
else if (m.Equals("som"))
{
wizard.MethodType = WizardMethodType.SOM;
}
else if (m.Equals("svm"))
{
wizard.MethodType = WizardMethodType.SVM;
}
else
{
Console.WriteLine(@"Invalid method: " + m);
return;
}
String r = _cmd.PromptString("range", "-1t1").Trim().ToLower();
if (r.Equals("-1t1"))
{
wizard.Range = NormalizeRange.NegOne2One;
}
else if (r.Equals("0t1"))
{
wizard.Range = NormalizeRange.Zero2One;
}
wizard.Missing = TranslateMissing(_cmd.PromptString("missing", "DiscardMissing"));
wizard.LagWindowSize = _cmd.PromptInteger("lagWindow", 0);
wizard.LeadWindowSize = _cmd.PromptInteger("leadWindow", 0);
wizard.IncludeTargetField = _cmd.PromptBoolean("includeTarget", false);
wizard.TaskNormalize = _cmd.PromptBoolean("normalize", true);
wizard.TaskRandomize = _cmd.PromptBoolean("randomize", true);
wizard.TaskSegregate = _cmd.PromptBoolean("segregate", true);
wizard.TaskBalance = _cmd.PromptBoolean("balance", false);
wizard.TaskCluster = _cmd.PromptBoolean("cluster", false);
_sw.Start();
Console.WriteLine(@"Analyzing data");
wizard.Wizard(new FileInfo(targetCSVFile), headers, format);
Console.WriteLine(@"Saving analyst file");
analyst.Save(egaFile);
}