, сохраняя детали, в настоящее время я работаю над программой Java, которая выполняет парную классификацию для ранжирования SVM.Случайный выбор двумерных векторных строк для полуограничения определенных значений
Чтобы получить некоторый фон, я прочитал содержимое из CSV-файла в список массивов 2D-строк, выполнил все необходимые вычисления в списке 2D-массивов и вам нужно записать его обратно в файл CSV.
Однако перед тем, как данные будут возвращены в пустой CSV-файл, произойдет один последний шаг. Последняя ячейка каждой строки содержит одно из двух значений: либо «1», либо «-1». Моя цель - убедиться, что данные записаны обратно в файл, так что есть равное количество строк данных (или в диапазоне от 1) относительно последней ячейки, содержащей либо «1», либо «- 1 ", если это имеет смысл.
Чтобы привести несколько примеров, здесь два приемлемых результатов, которые будут записаны обратно в файл:
[10 20 30 -1]
[12 13 14 1]
[12 13 14 -1]
[34 35 36 1]
и
[10 20 30 -1]
[12 13 14 1]
[12 13 14 -1]
[34 35 36 1]
[20 34 35 -1]
Как вы можете видеть, в первом примере, есть равное распределение строк по отношению к последней ячейке каждой строки, либо «1», либо «-1», а во втором - распределение строк, так что разница в количестве строк, где есть « -1 "или" 1 "в последней ячейке отличаются только 1. Это оба приемлемы.
Итак, мне было интересно, может ли кто-нибудь предоставить мне некоторые идеи о том, как я могу это сделать? В настоящее время я думаю о создании генератора случайных чисел для индексатора, который непрерывно включает строки на основе этого случайного индекса, отслеживая количество строк, которые содержат «1» или «-1» в последней ячейке, только останавливаясь, когда в мой конечный результат включается количество случайных строк, так что удовлетворяются мои критерии равного/почти равного распределения. Тем не менее, я не совсем уверен, как бы я мог настроить код для этого.
Спасибо, и, пожалуйста, дайте мне знать, если я могу предоставить более подробную информацию, которая поможет.
Не могли бы вы просто добавить последний индекс каждой строки к текущему подсчету, а после * сделать всю работу * вы не могли бы просто проверить, является ли '-1> = tally <= 1'? Извините, если это полностью не соответствует знаку, этот вопрос несколько запутан. –