示例#1
0
文件: utils.cs 项目: mtxset/ml_csharp
        public static result_state parse_file(string file_path, out double[][] train_data, out double[] result_data, string split_char = ",")
        {
            var    result = new result_state();
            string file_content;
            var    file_handle = read_file(file_path, out file_content);

            train_data  = null;
            result_data = null;

            if (file_handle.has_errors())
            {
                return(file_handle);
            }

            var lines = file_content.Split("\n");
            // data, .. , result
            var data_size = lines[0].Split(split_char).Length - 1;

            train_data  = ml_funcs.matrix_create(lines.Length - 1, data_size);
            result_data = new double[lines.Length - 1];

            for (var row = 0; row < lines.Length - 1; row++)
            {
                var temp_line = lines[row].Split(split_char);

                for (var col = 0; col < temp_line.Length - 1; col++)
                {
                    train_data[row][col] = Convert.ToDouble(temp_line[col]);
                }

                result_data[row] = Convert.ToDouble(temp_line[temp_line.Length - 1]);
            }

            return(result);
        }
示例#2
0
文件: utils.cs 项目: mtxset/ml_csharp
        public static result_state read_file(string file_path, out string file_content)
        {
            var result = new result_state();

            file_content = "";

            if (!File.Exists(file_path))
            {
                result.add_error($"File {file_path} does not exist");
                return(result);
            }

            var file = File.Open(file_path, FileMode.Open);

            var bytesRead = new byte[file.Length];

            file.Read(bytesRead, 0, (int)file.Length);
            file.Close();

            var charArray = new char[bytesRead.Length];

            for (int i = 0; i < bytesRead.Length; i++)
            {
                charArray[i] = (char)bytesRead[i];
            }

            file_content = string.Concat(charArray);
            return(result);
        }
示例#3
0
        public void combine_errors(result_state result)
        {
            if (!result.has_errors())
            {
                return;
            }

            foreach (var item in result.error_list)
            {
                if (item != null)
                {
                    add_error(item);
                }
            }
        }