У меня такое чувство, что у этого вопроса есть очевидное и простое решение, которое я, возможно, упустил из виду.
Предположим, у меня есть модель f , которая зависит от некоторых входных данных x и набор параметров p для получения двоичного классификационного вывода у .Я сейчас использую линейную модель, чтобы служить f , но я бы хотел сохранить гибкость архитектуры, чтобы в будущем я мог легко заменить нейронную сеть или нелинейную модель.
Мой вопрос состоит в том, чтобы вместо обучения моделей генерировать оптимальный набор параметров p , который обеспечивает наивысшую точность, существует ли способ расчета точности модели по параметрам, вставленным вручную?Причина, по которой я спрашиваю, состоит в том, что я хочу проанализировать метод ансамбля, но вместо того, чтобы подгонять несколько моделей и усреднять / взвешивать их прогнозы, я хочу обойти обучение и вычислить точность для случайно выбранных наборов параметров p из указанного распределения.
Другими словами, я хочу указать что-то вроде этого:
model = linear
parameter_set = p #manually inserted array/distribution of possible parameters
sample_params = np.random.choice(parameter_set, size=100, replace=True) #a subset of the true parameter set
Теперь мне нужно вычислить все 100 точности параметров выборки, как если бы они были 100 независимыми моделями, и отклонить их на основепо некоторым критериям.Главное, я хочу оценивать модели только на тренировочном наборе.Я посмотрел на многие библиотеки и нашел что-то близкое, используя validation_curve и gridsearch в sklearn.model_selection, однако validation_curve также оценивает набор тестов и gridsearch ищет оптимальный параметр.Я также рассмотрел методы перекрестной проверки, lmfit, scipy.optimize.curve_fit и другие.Я знаю, что могу вручную написать в функции, а также в функции, чтобы вычислить точность и пройти через нее с наборами параметров и постепенно отклонять на основе заданного мной порога, но это, очевидно, противоречит цели того, что я пытаюсь сделать.
Я просто проверяю, есть ли изящный способ сказать: вот архитектура для модели, вот наборы параметров, это данные, скажите мне, какова каждая точность, и отклоните наборы параметров/ модели, которые имеют точность менее 0,5, например.Любые мысли или предложения будут с благодарностью.