Вычислить значение функции для каждой строки в матрице без перебора всех строк

#python #numpy #matrix #regression

#python #numpy #матрица #регрессия

Вопрос:

Я разрабатываю генетическую программу, и к настоящему времени весь алгоритм, похоже, работает нормально. (Хотя и медленно …).
Я перебираю списки реальных значений по одному за раз, а затем применяю функцию к списку. Формат примерно такой :

 trainingset=[[3.32,55,33,22],[3.322,5,3,223],[23.32,355,33,122]...]]
  

Где каждый внутренний список представляет строку в наборе, а последний элемент этого списка является результатом регрессии в этой строке / индивидууме.

Функция, которую я использую, представляет собой нечто вроде:

 def getfitness(individual,set):
    ...
    for elem in set:
         apply the function individual to it
         fitness=fitness (set[-1]-(result of individual with the parameters of the set))

    fitness=RMS(fitness)
    return fitness
  

Итак, что я хотел бы знать, есть ли способ вычисления функции за один раз, есть ли какие-либо библиотеки, которые могут это сделать? Я просматривал матрицы в numpy, но безрезультатно.

Заранее спасибо.

Хорхе

Комментарии:

1. Что означает «безрезультатно»? Numpy разработан именно для этого. Вы не можете избежать итерации, но numpy сделает это на C, что намного быстрее.

2. означает безуспешно. Я собираюсь продолжить изучение numpy.

3. Я предполагаю, что вы пытались реализовать свой алгоритм, используя структуры данных numpy, и в какой-то момент застряли? На всякий случай, если это неясно, ваш лучший вариант для повышения производительности почти наверняка numpy.

4. Пока нет. Я все еще ищу numpy-функцию, которая позволит мне это сделать. Структуры numpy, которые я видел, все еще нуждаются в итерации. Прямо сейчас я показываю простой пример, чтобы попробовать концепцию. Я буду держать вас в курсе. Спасибо