Я использую scikit-learn preprocessing scaling для редкий матрицы.Масштаб (применяется функция?) Разреженная матрица логарифмически
Моя цель - «масштабировать» каждую колонку признаков, беря логарифмическую базу для максимального значения столбца. Мое формулирование может быть неточным. Я пытаюсь объяснить.
Скажем функция-столбец имеет значения: 0, 8, 2
:
- Максимальное значение = 8
- Лог-8 из значения признака 0 должно быть 0,0 =
math.log(0+1, 8+1)
(+1, чтобы справиться с нулями; так что да , мы фактически с лог-основание 9) - Лог-8 значения признака 8 должно быть 1,0 =
math.log(8+1, 8+1)
- Лог-8 значения признака 2 должно составлять 0,5 =
math.log(2+1, 8+1)
Да, я могу легко применить любой произвольный функциональный трансформатор с FunctionTransformer, но я хочу, чтобы база журнала меняла (на основе) каждый столбец (в частности, максимальное значение). То есть, я хочу сделать что-то вроде MaxAbsScaler, только беря логарифмы.
Я вижу, что MaxAbsScaler
получает первый вектор (scale
) максимальных значений каждого столбца (code), а затем кратные исходные матрицы раз 1/scale
в code.
Однако я не знаю, что делать, если я хочу использовать логарифмы на основе вектора scale
. Возможно ли даже преобразование операции логарифма в умножение (?) Или у меня есть другие возможности разреженных разреженных операций?
Надеюсь, что мои намерения ясны (и возможны).
Это хорошее мышление! Только то, что мне нужно, спасибо! - По аналогичной заметке, я думаю, что с матрицами _sparse_ я не могу сначала свести к минимальному диапазону, как и к 'MinMaxScaler', то есть, если функциональный столбец находится только между 40 и 80, измените минимум на 0 и 40, а затем , примените 'log1p', как в вашем ответе. - Мне нужно было бы сделать это всего за несколько столбцов, может быть, эффективно работать без перерывов на этих столбцах, а потом менять? – juanmirocks
Странная ситуация, если у вас есть разреженная матрица, но некоторые столбцы имеют значения от 40 до 80. Мне самому не приходилось иметь дело с такой ситуацией; вы можете задать отдельный вопрос, поскольку он отличается от предыдущего. – FTP