Можете ли вы использовать кластеризацию, чтобы выбрать сигналы в шумных данных?

datascience.stackexchange https://datascience.stackexchange.com/questions/6247

  •  16-10-2019
  •  | 
  •  

Вопрос

Как мой первый проект по науке о данных, я хотел бы выбрать основные кластеры в шумных данных. Я думаю, что хороший пример будет попытаться выбрать определенные ссылки на заданный вопрос о StackexChange, который имеет ряд ответов. Наиболее распространенный тип ссылки - это ссылка на вопрос в сети SE. Следующим общим является либо ссылки, либо ссылки на профили пользователей. Остальные ссылки могут быть случайными ссылками, включенными в посты, которые считаются шумом. В идеале я ищу решение, в котором я не знаю, сколько кластеров ссылок будет заранее.

Я реализовал свою первую попытку с помощью scikit-learn и Kmeans. Тем не менее, это не идеально, потому что мне, кажется, придется указать количество кластеров заранее, и я думаю, что случайные, шумные ссылки сгруппируются неправильно. Я также думаю, что это более эффективно для более крупного корпуса по сравнению с относительно маленьким из токенов URL (хотя это просто предположение).

Есть ли способ сделать этот тип кластеризации, где количество кластеров неизвестно или где один из кластеров - это своего рода различные кластер, содержащие объекты, которые не совпадают с другими кластерами?

Это было полезно?

Решение

Вы смотрели на DBSCAN? Это пространственная кластеризация данных на основе плотности с шумом, которая может определять нелинейные кластеры (в отличие от K-средних).

Это не требует знания количества кластеров. Тем не менее, для этого требуется два параметра (минимальный размер кластера и размер соседства), которые измеряют плотность. Но вы можете оценить их в своем конкретном домене.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top