static void Main(string[] args) { Console.WriteLine("*******************************************************"); Console.WriteLine("Elija una opción:"); Console.WriteLine("1. Depurar Datos de entrada (1)"); Console.WriteLine("2. Correr algoritmo Apriori con busqueda intensiva (2)"); Console.WriteLine("*******************************************************"); Console.WriteLine("\n"); Console.WriteLine("Ingrese valor de minSupport para los items (1-100)%"); double minS = Convert.ToInt32(Console.ReadLine()); FIGeneration fIGeneration = new FIGeneration(minS, true); //true ejemplo del libro, false datos allers fIGeneration.FrequentItemGeneration(3); // parametro tamaño k de k-itemset comniacion maximo //fIGeneration.AprioriFrequentItemGeneration(); foreach (ItemSet itemset in fIGeneration.candidates) { String cods = ""; itemset.items.ToList().ForEach(x => cods += x.Value.cod + " "); Console.WriteLine("Conjunto frecuente -> Support: " + itemset.countSupport + " Conjunto: " + cods); } //Console.ReadLine(); Console.WriteLine("¡Terminó!"); Console.ReadLine(); }
public void setScene0() { esperados.Add("BREAD ", 4); esperados.Add("MILK ", 4); esperados.Add("DIAPERS ", 4); esperados.Add("BEER ", 3); esperados.Add("BREAD MILK ", 3); esperados.Add("BREAD DIAPERS ", 3); esperados.Add("MILK DIAPERS ", 3); esperados.Add("DIAPERS BEER ", 3); fIGeneration = new FIGeneration(60, true);//min support del 60% fIGeneration.FrequentItemGeneration(3); }
public void setScene0() { esperados.Add("BREAD ", 4); esperados.Add("MILK ", 4); esperados.Add("DIAPERS ", 4); esperados.Add("BEER ", 3); esperados.Add("BREAD MILK ", 3); esperados.Add("BREAD DIAPERS ", 3); esperados.Add("MILK DIAPERS ", 3); esperados.Add("DIAPERS BEER ", 3); fIGeneration = new FIGeneration();//min support del 60% fIGeneration.minSupport = 0.6; Data data = new Data(true); fIGeneration.FrequentItemGeneration(4, data); }
static void Main(string[] args) { //Console.WriteLine(); //Console.ReadLine(); try { Console.WriteLine("Ingrese minSupport :"); double minSupport = 0.005;//Convert.ToDouble(Console.ReadLine()) / 100; Console.WriteLine("Ingrese minConfidence :"); double minConfidence = Convert.ToDouble(Console.ReadLine()) / 100; Data data = new Data(false); FIGeneration fIGeneration = new FIGeneration(); fIGeneration.minSupport = minSupport; RuleGenerator ruleGenerator = new RuleGenerator(); ruleGenerator.minConfidence = minConfidence; ClustersGenerator clustersGenerator = new ClustersGenerator(); clustersGenerator.minPertencia = 0.60; data.LoadTransactions(); data.LoadClientes(); Console.WriteLine("--> " + data.transactions.Count); data.PodarTransacciones(0.003); Console.WriteLine("--> " + data.transactions.Count); data.PodarClientes(); Console.WriteLine("Clientes -> " + data.clientes.Count); data.PodarArticulos(); Console.WriteLine("Items Podados.- " + data.items.Count); data.PodarItemsPorSupport(minSupport); fIGeneration.AprioriFrequentItemGeneration(3, data); List <ItemSet> fi = fIGeneration.candidates.Where(x => x.items.Count > 1).ToList(); List <ItemSet> fiTotales = fIGeneration.candidates.ToList(); Console.WriteLine("Itemsets totales: " + fi.Count); Console.WriteLine("---------------------------------------- \n Frequents ItemSe Generados... \n Creando Reglas de asociacion ..."); //Generando Reglas ruleGenerator.GenerarReglas(fi, fIGeneration); Console.WriteLine(ruleGenerator.associationRules.Count + "++++++++"); foreach (Rule rule in ruleGenerator.associationRules) { Console.WriteLine(rule.antecedente.ToStringItems() + " ->" + rule.consecuente.ToStringItems() + " " + rule.confidence); } //Generando CLusters clustersGenerator.GenerarClusters(data.transactions, data.clientes, fi); /* * Analyzer analyzer = new Analyzer(); * analyzer.minPertenencia = 0.75; * analyzer.minPertenencia = 0.75; * analyzer.minSupport = 0.01; * analyzer.LoadData(); * analyzer.PodarDatos(0.1/100); * //analyzer.data.PodarItemsPorSupport(0.1); * * analyzer.GenerarFrequentItemSets(2); * Console.WriteLine(analyzer.fIGeneration.candidates.Count);*/ foreach (ItemSet itemset in fIGeneration.candidates) { String cods = ""; itemset.items.ToList().ForEach(x => cods += x.Value.cod + " "); Console.WriteLine("Conjunto frecuente -> Support: " + itemset.support + " Conjunto: " + cods); } // List<ItemSet> fi = fIGeneration.candidates.Where(x => x.items.Count > 1).ToList(); // clustersGenerator.GenerarClusters(data.transactions, data.clientes, fi); foreach (Cluster c in clustersGenerator.clusters) { Console.WriteLine("Cluster: " + c.agrupador.ToStringItems()); foreach (Elemento e in c.elementos) { Console.WriteLine("Elemento: " + e.id + " pertenece un " + e.pertenencia + " al cluster"); } } Console.WriteLine(" Clusters final " + clustersGenerator.clusters.Count); Console.WriteLine("Terminó!"); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Error main: " + e.Message + "\n" + e.StackTrace); Console.ReadLine(); } }