예제 #1
0
        public sample_set(string File_Name, List <Attribune_Info> Input_Attribute, Attribune_Info Output_Attribute)
        {
            file_name        = File_Name;
            input_Attribute  = Input_Attribute;
            output_Attribute = Output_Attribute;
//             data_Rows = new List<Row_Sample>();
        }
예제 #2
0
        protected bool KEEL_separator(string Line)
        {
            if (Line[0] == '@')
            {
                string[] temp_lines = Line.Split(new char[] { ',', '@', ' ', '[', ']' },
                                                 StringSplitOptions.RemoveEmptyEntries);
                if (temp_lines[0].Equals("relation", StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
                if (temp_lines[0].Equals("attribute", StringComparison.OrdinalIgnoreCase))
                {
                    Attribune_Info temp_Attrtibute = new Attribune_Info();
                    temp_Attrtibute.Name = temp_lines[1];
                    if (temp_lines[2].Equals("integer", StringComparison.OrdinalIgnoreCase) ||
                        temp_lines[2].Equals("real", StringComparison.OrdinalIgnoreCase))
                    {
                        double temp;
                        double.TryParse(temp_lines[3].Replace('.', ','), out temp);
                        temp_Attrtibute.Min = temp;
                        double.TryParse(temp_lines[4].Replace('.', ','), out temp);
                        temp_Attrtibute.Max = temp;
                        input_Attribute.Add(temp_Attrtibute);
                    }
                    else
                    {
                        if (temp_lines.Where(i => i.Contains('{')).Count() > 0)
                        {
                            temp_Attrtibute.Name = temp_lines[1].Split(new char[] { '{', '}' })[0];
                            for (int i = 2; i < temp_lines.Count(); i++)
                            {
                                string[] temp_set_line = temp_lines[i].Split(new char[] { '{', ',', '}' },
                                                                             StringSplitOptions.RemoveEmptyEntries);
                                temp_Attrtibute.labels_values.Add(temp_set_line[0].ToLowerInvariant());
                            }
                            input_Attribute.Add(temp_Attrtibute);
                        }
                    }
                    return(true);
                }

                if (temp_lines[0].Equals("inputs", StringComparison.OrdinalIgnoreCase))
                {
                    for (int i = 1; i < temp_lines.Count(); i++)
                    {
                        if (
                            input_Attribute.First(x => x.Name.Equals(temp_lines[i], StringComparison.OrdinalIgnoreCase)) ==
                            null)
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
                if (temp_lines[0].Equals("outputs", StringComparison.OrdinalIgnoreCase))
                {
                    for (int i = 1; i < temp_lines.Count(); i++)
                    {
                        output_Attribute =
                            input_Attribute.First(x => x.Name.Equals(temp_lines[i], StringComparison.OrdinalIgnoreCase));
                        input_Attribute.RemoveAll(x => x == output_Attribute);
                    }
                    return(true);
                }

                if (temp_lines[0].Equals("data", StringComparison.OrdinalIgnoreCase))
                {
                    return(false);
                }
            }
            return(false);
        }
예제 #3
0
 public c_samples_set(string File_Name, List <c_samples_set.Row_Sample> Data_Rows, List <Attribune_Info> Input_Attribute, Attribune_Info Output_Attribute) : base(File_Name, Input_Attribute, Output_Attribute)
 {
     data_Rows = Data_Rows;
 }