2009-11-18 9 views
2

Я занимаюсь исследованием, которое включает в себя «неконтролируемую классификацию». В основном у меня есть trainSet, и я хочу сгруппировать данные в X число классов в неконтролируемом порядке. Идея похожа на то, что означает k-средство.Доступны неконтролируемые методы классификации

Скажем

Step1) featureSet является [1057x10] Matrice, и я хочу, чтобы сгруппировать их в 88 кластеров.

Step2) Использовать ранее рассчитывали классы вычислить как же Testdata классифицируется

Вопрос -Это можно сделать это с SVM или N-N? Что-нибудь еще ? -Все другие рекомендации?

+0

Вы действительно пробовали использовать k-средства? Кажется, это хорошо подходит для проблемы. – Stompchicken

+0

Привет Идите на самом деле. Но мне нужно сделать то же самое с другим методом сравнения результатов. Любые рекомендации? – tguclu

+0

SVM контролируется, а не не контролируется, поэтому он не подходит для того, что вы хотите – Davide

ответ

2

Существует много алгоритмов кластеризации, и сеть наводнена информацией о них и примерах реализации. Хорошей отправной точкой является запись в Википедии о кластерном анализе Cluster_analysis.

Поскольку у вас есть работающая реализация k-mean, вы можете попробовать один из многих вариантов, чтобы увидеть, улучшают ли они лучшие результаты (k-означает ++, возможно, видя, как вы упомянули SVM). Если вы хотите совершенно другой подход, посмотрите на Kohonen Maps - также называемые Self Organizing Feature Maps. Если это выглядит слишком сложно, простая иерархическая кластеризация будет легко реализована (найдите ближайшие два элемента, объедините, промойте и повторите).

1

Это звучит как классическая проблема кластеризации. Ни SVM, ни нейронные сети не смогут напрямую решить эту проблему. Вы можете использовать любой подход для dimensionality reduction, например, для встраивания ваших 10-мерных данных в двумерное пространство, но они не будут помещать данные в кластеры для вас.

Существует огромное количество алгоритмов кластеризации, кроме k-средних. Если вам нужен контрастный подход, вы можете попробовать алгоритм agglomerative clustering. Я не знаю, какую компьютерную среду вы используете, но мне очень нравятся R и this (very) short guide on clustering.