PCA от Weka выполняется слишком долго

Я пытаюсь использовать Weka для выбора функций с использованием алгоритма PCA.

Мое исходное функциональное пространство содержит ~9000 атрибутов в 2700 образцах.
Я попытался уменьшить размерность данных, используя следующий код:

AttributeSelection selector = new AttributeSelection();
PrincipalComponents pca = new PrincipalComponents();
Ranker ranker = new Ranker();
selector.setEvaluator(pca);
selector.setSearch(ranker);
Instances instances = SamplesManager.asWekaInstances(trainSet);
try { 
    selector.SelectAttributes(instances);
    return SamplesManager.asSamplesList(selector.reduceDimensionality(instances));
} catch (Exception e ) {
           ...
}

Однако он не закончил работать в течение 12 часов. Он застрял в методе selector.SelectAttributes(instances);.

Мои вопросы: Ожидается ли такое длительное время вычислений для PCA weka? Или я неправильно использую PCA?

Если ожидается длительное время работы:
Как настроить алгоритм PCA, чтобы он работал намного быстрее? Можете ли вы предложить альтернативу? (+ пример кода, как его использовать )?

Если нет:
Что я делаю не так? Как мне вызвать PCA с помощью weka и получить уменьшенную размерность?

Обновление:Комментарии подтверждают мое подозрение, что это занимает гораздо больше времени, чем ожидалось.
Я хотел бы знать:Как я могу получить PCA в java -, используя weka или альтернативную библиотеку.
Добавлена ​​награда за это.

9
задан amit 7 April 2015 в 09:44
поделиться