private void MineRules() { if (!sourceSelected) { Console.WriteLine("THe data source was not chosen."); Start(); return; } try { Console.WriteLine("Please enter a minimal support (for example:0,4)."); var supp = GetNumber(Console.ReadLine()); if (supp < 0) { throw new Exception("Wpisano nie poprawną wartość."); } Console.WriteLine("Please enter a minimal confidence (for example:0,2)."); var conf = GetNumber(Console.ReadLine()); if (conf < 0) { throw new Exception("Wpisano nie poprawną wartość."); } Console.WriteLine("Please enter a minimal rule length (for example:2)."); var minlen = GetOption(Console.ReadLine()); if (minlen < 0) { throw new Exception("Wpisano nie poprawną wartość."); } Console.WriteLine("Please enter a maximal rule length (for example:4)."); var maxlen = GetOption(Console.ReadLine()); if (maxlen < 0) { throw new Exception("Wpisano nie poprawną wartość."); } RuleParameters param = new RuleParameters { MinSupport = supp, MinConfidence = conf, MinLength = minlen, MaxLength = maxlen }; Console.WriteLine("Which approach of mining do you want to use?(1 or 2)"); var opt = GetOption(Console.ReadLine()); if (opt < 1 || opt > 2) { throw new Exception("Wpisano nie poprawną wartość."); } manager.GetObservableRulesCollection().CollectionChanged += MinerConsole_CollectionChanged; Console.WriteLine("Mining is being processed..."); if (opt == 1) { manager.FindRule(param); } else if (opt == 2) { manager.FindRuleSecondApproach(param); } if (manager.GetObservableRulesCollection().Count == 0) { Console.WriteLine("No results found"); } else { Console.WriteLine(""); Console.WriteLine("Mining has finished!"); Console.WriteLine(""); } Console.WriteLine(""); } catch (Exception e) { Console.WriteLine(e.Message); } finally { Start(); } }