Как конвертировать 24824 функции из текстового файла в файл .tab для Orange с C # - PullRequest
0 голосов
/ 01 декабря 2018

Мне интересно, как я могу преобразовать огромные признаки рака молочной железы, которые (24481) характерны.Мой вопрос заключается в том, как я могу преобразовать 24481 в одну строку для каждой строки в файле вкладок для оранжевого, чтобы прочитать его, потому что, когда я записываю все данные 24481 в файл вкладок, они записывают более чем в одну строку, так что это вызывает проблемы при чтении с платформы Orange.также попробуйте прочитать из CSV, но он может конвертировать только 16383 функции, так что это не подходит для меня.пожалуйста, любая помощь или предложения?

Это мой код для преобразования огромных функций из текста в файл вкладки:

int addressSize = txtAddress.Text.Length - 4;
        string filePath = txtAddress.Text.Remove(addressSize, 4) + ".tab";
        //before your loop
        var csv = new StringBuilder();
        string[][] data = LoadData.train(txtAddress.Text);
        //in your loop
        int length = data[0].Length;
        string row = "";

        for (int j = 0; j < length; j++)
        {
            if (j == 0)
            {
                row += "Result,";
            }
            row += "Gen" + (j + 1) + ",";
        }
        var newline = string.Format("{0},{1}", row, Environment.NewLine);
        csv.Append(newline);
        row = "";
        for (int k = 0; k < length; k++)
        {
            if (k == 0)
            {
                row += "discrete,";
            }
            row += "continuous,";
        }
        newline = string.Format("{0},{1}", row, Environment.NewLine);
        csv.Append(newline);
        row = "";
        for (int k = 0; k < length; k++)
        {
            if (k == 0)
            {
                row += "class,";
            }
            row += ",";
        }
        newline = string.Format("{0},{1}", row, Environment.NewLine);
        csv.Append(newline);
        for (int i = 0; i < data.GetLength(0); i++)
        {
            row = "";
            length = data[i].Length;

            for (int j = 0; j < length; j++)
            {
                row += data[i][j] + ",";
            }
            var newLine = string.Format("{0},{1}", row, Environment.NewLine);
            csv.Append(newLine);
        }


        //write data
        File.WriteAllText(filePath, csv.ToString());
...