Вопрос кажется логичным, но на самом деле вид очевиден:
Если вы переразбиваете, вы каждый раз меняете распределение данных в целом. Одни и те же данные по N или N + M разделам при получении обучающих данных обычно не дают одинаковых результатов.
val Array(trainingData, testData) = data.randomSplit(Array(0.7, 0.3))
При получении данных о вашей тренировке и тестировании данные валидации с теми же параметрами будут иметь другой набор результатов.
Итак, вы работаете с разными данными обучения и, вероятно, в результате получите немного другой результат.
Так что короткий ответ - да и нет. Существует косвенная связь и, возможно, не так, как вы думали, когда задали вопрос. Нельзя утверждать, что большее количество разделов означает лучшую точность.
Я запускал это несколько раз:
...
val data = data0.repartition(N) // N varying
...
val Array(trainingData, testData) = data.randomSplit(Array(0.7, 0.3),seed=333)
...
Я заметил, что при переходе от меньшего числа к большему количеству разделов я получал разные Точность, иногда выше, иногда нет.