Каковы некоторые подходы для классификации данных с переменным количеством признаков?
В качестве примера рассмотрим проблему, в которой каждая точка данных представляет собой вектор точек x и y, и у нас не одинаковое количество точек для каждого экземпляра. Можем ли мы рассматривать каждую пару точек x и y как особенность? Или мы должны просто как-то суммировать точки, чтобы каждая точка данных имела фиксированное количество функций?
machine-learning
missing-data
jergason
источник
источник
Ответы:
Вы можете рассматривать эти пункты как пропущенные --- т.е. давайте предположим, что вектор имеет не более 20 (x, y) пар, а конкретная точка имеет 5 (x, y) пар, в этом случае обработайте остальные пары как пропущенные, а затем примените стандартные процедуры для пропущенных параметров:
Эти стандартные процедуры могут быть:
Но, как указывает точка @jonsca - если наличие отсутствия данной точки помогает в классификации данных, вы должны, например, построить пару моделей, каждая из которых моделирует экземпляры с определенным количеством точек.
источник
Насколько я понимаю ваш вопрос, точки в данных являются взаимозаменяемыми и не идут ни в каком порядке, т. Е. У вас есть набор точек для каждого примера. Этот параметр отличается от параметра «Отсутствует значение», что JB. описано.
Я знаю о двух обычно используемых методах решения этой проблемы, которые на самом деле основаны на ваших идеях. Хорошая базовая линия, вероятно, состоит в том, чтобы просто усреднить все точки в одном примере, но это обычно не работает.
Чтобы объединить несколько точек в одну особенность, довольно часто используется набор слов (или набор признаков), например, в компьютерном зрении. Идея состоит в том, чтобы сгруппировать все точки в вашем обучающем наборе (например, с помощью k-средних), а затем описать каждую точку по ее кластеру. Для каждого примера вы затем получаете гистограмму, по которой кластеры встречаются как часто.
Чтобы использовать все пары точек, вы можете использовать множество ядер. Это может лучше всего работать с использованием SVM, но, вероятно, также будет работать с любым алгоритмом обучения, который может быть сгенерирован или может использовать функцию совместимости между входами. Набор ядер - это в основном способ вычисления сходства двух наборов функций, как в вашей настройке.
источник