сначала мои настройки: X - моя таблица характеристик.Он имеет 150 000 функций и 96 образцов.Итак, 150 000 столбцов и 96 строк.
y - моя целевая таблица.Он имеет 4 этикетки и, конечно, 96 образцов.Таким образом, 4x96 (столбцы x строки).
После разбиения на данные обучения и тестирования я использую MLPRegressor.Основываясь на документации Sci-kit, это родной многоканальный регрессор.Таким образом, я могу использовать его, чтобы предсказать мои четыре желаемых выходных значения с новой выборкой из 150 000 функций.Мой код:
mlp = MLPRegressor(hidden_layer_sizes=(2000, 2000), solver= 'lbfgs', max_iter=100)
mlp.fit(X_train,y_train)
А потом я использую перекрестную проверку.
cross_validation.cross_val_score(mlp, X, y, scoring='r2')
В результате получается список из 3 записей (параметр cv = 3).Я действительно не понимаю, как мои 4 метки представлены этими 3 значениями.Я ожидал что-то в таком формате: записи меток 1: 3, записи меток 2: 3 и то же самое с метками 3 и 4. Поэтому я получаю R ^ 2-значение для всех моих меток три раза для разных разбиенийданные испытаний и обучения.
Я что-то упустил?Нужно ли использовать Multioutputregressor? (см. Документ здесь)
И Здесь документация о перекрестной проверке.
Спасибо.