Есть ли мастера программинга?

  • Автор темы mehanizator
  • Дата начала

mehanizator

Administrator
Команда форума
Нужно сделать супербыстрое исполнение следующего алгоритма:

В исходном файле matrix.txt лежит матрица данных, первый столбец это выход Y (матрица Nx1), остальные стобцы это входы X (матрица NxM).
В программу передаются аргументы - массив номеров столбцов factors (K элементов).
Для каждой строки i вычисляем предсказание Ypred следующим образом:
- для каждой строки j, такой что i!=j считаем квадрат расстояния от строки i следующим образом:
--сумма по K квадратов разности X[i,k]-X[j,k], где k - номер столбца указанный в массиве factors
- ранжируем строки j по квадрату расстоянию от строки i
- для ближайшей половины списка усредняем Y и прибавляем к Ypred
- для дальней половины списка усредняем Y и отнимаем от Ypred
Считаем корреляцию Y и Ypred, записываем ее в файл result.txt

Тестовый файл с данными тут: http://www.russian-trader.ru/matrix.txt
 

kaprizka

New member
Не совсем понятно, что должна делать программа, но возникли два вопроса:
1) Переменные k и K отличаются?
Судя по контексту, да. K - количество анализируемых столбцов, k - номер столбца указанный в массиве factors, и напрашивается, что здесь должна быть ещё одна переменная: индекс этого номера в массиве factors, перебираемый от 1 до K (или от 0 до K-1, в зависимости от языка программирования и некоторых дополнительных факторов).
2) Количество памяти в компьютере неограничено? От этого зависит, следует ли весь исходный файл сунуть в массив или многократно открывать его на чтение.
3) Корреляция - это чё?
 

mehanizator

Administrator
Команда форума
ну, в интернете наверное...
метод ближайших соседей. хотя тут у меня его небольшая модификация.
 

yu-sha

New member
Могу порекомендовать готовое решение, например, Deductor Academic - мастер обработки "Кластеризация"
В этом же ключе (поиск центров k-ядер с минимальным евклидовым расстоянием до них от всех точек кластера == мин.дисперсия) действует сеть Кохонена (есть в том же Deductor Academic, в NeuroShell 2)
P.S.
Однако, эти методы не подразумевают присутствие учителя !
На мой взгляд, следует дополнительно проанализировать совместимость поставленной задачи с методом ее решения

Все вышесказанное - ИМХО

Добавлено:
Приношу извинения за дезинформацию
Действительно, "Метод k ближайших соседей" используется для классификации новых объектов по выборке, представляющей из себя "учителя"
 
Последнее редактирование:
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху