Алгоритм Centroid для классификации текста, инструменты?

Как обсуждалось здесь, знаете ли вы какие-либо инструменты, которые обеспечивают алгоритм центроида для классификации текста в java?


person samsamara    schedule 19.05.2012    source источник


Ответы (1)


scikit-learn включает это как класс NearestCentroid. Он также включает реализацию L2-нормализованного tf-idf.

[Отказ от ответственности: я разработчик scikit-learn.]

person Fred Foo    schedule 19.05.2012
comment
Спасибо, но вы знаете что-нибудь в Java? - person samsamara; 19.05.2012
comment
@ user601: нет, извини. Хотя это не очень сложно реализовать. - person Fred Foo; 19.05.2012
comment
Привет, если предположить, что мои учебные экземпляры [1,5,1,0],[0,1,3,2]; тогда центр тяжести будет [1,6,4,2]/2 = [0,5,3,2,1], верно? - person samsamara; 27.05.2012
comment
Если это единственные две выборки определенного класса и вы используете евклидово расстояние, то да. - person Fred Foo; 27.05.2012
comment
Разве это не просто средний показатель? Как здесь участвует евклидово расстояние при построении центроида? - person samsamara; 27.05.2012
comment
Да, это средний показатель. Вам нужна метрика расстояния, когда вы хотите предсказать (классифицировать невидимые экземпляры) с помощью результирующей модели. Тогда среднее соответствует евклидову расстоянию, а медиана соответствует манхэттенскому (L1) расстоянию. - person Fred Foo; 28.05.2012
comment
хорошо спасибо! Мне просто интересно, что, если я использую K-средства и позволю количеству центроидов, построенных равным 1 (т.е. k = 1), построить центроид, а когда появятся невидимые экземпляры, я использую этот центроид для вычисления расстояний с невидимым экземпляром? Это неправильно? - person samsamara; 31.05.2012
comment
@ user601: k-средних с k = 1 не имеет смысла; он помещает весь тренировочный набор в один класс. Классификация с кластеризацией k-средних, где k›2 имеет смысл, но игнорирует маркировку вашего набора данных. - person Fred Foo; 01.06.2012
comment
да, с k = 1, я строю единый центр тяжести всех тренировочных экземпляров, который используется для расчета расстояния с тестовыми экземплярами. Должен работать как алгоритм центроида в этой ссылке, верно? - person samsamara; 01.06.2012
comment
@ user601: с k = 1 существует только один класс/кластер. Решение не принимается. Кроме того, вам, конечно, не нужны k-средние, чтобы найти единственный центроид множества точек данных. Просто усредните их. - person Fred Foo; 01.06.2012
comment
Я очень ценю вашу помощь. Спасибо. - person samsamara; 01.06.2012