Я только начинаю работать с Махоутом, и одна вещь, которая сильно меня озадачила, - это отсутствие линейной регрессии. Даже логистическая регрессия, которая намного сложнее, в некоторой степени поддерживается исследованиями, но все о молчании по фронту линейной регрессии!
Насколько я понимаю, OLS - одна из самых простых проблем для решения -
Y = Xb + e
имеет решение для линейной регрессии b = (X ^ TX) ^ (- 1) X ^ TY, где X ^ T транспонируется в X, и если матрица (X ^ TX) оказывается единственной (то есть не обратимой) ) тогда совершенно нормально показывать сообщение об ошибке, даже если существует решение с использованием обобщенного обратного.
Вычисления как X ^ T X, так и X ^ Y - это просто вычисления сумм и сумм произведений элементов, что, как я понимаю, проще всего сделать с MapReduce.
(Что заставляет меня задуматься ... существует ли модуль, который поддерживает операции с исходной матрицей, необходимые для вычисления коэффициентов регрессии? Это действительно сделает модуль регрессии ненужным ...)
Мне не хватает чего-то, что затрудняет вычисление регрессии в Mahout?