Python - Как определить, являются ли точки данных случайными или кластерными? - PullRequest
0 голосов
/ 19 декабря 2018

Давайте предположим, что мы анализируем схемы бронирования в течение месяца.Я приведу три примера наборов данных.Я ищу любой алгоритм, чтобы дифференцировать их на основе случайности.

data-set 1                    data-set2
day   bookings               day    bookings
1       20                    3      35 
2       11                    15     40
3       8                     22     11                   
5       31
6       19                  data-set 3
7       7                     10      20
9       15                    11      37
11      22                    12      9
12      23                    13      26
13      12
14      10
15      20
16      13
19      22
20      18
21      19
22      4
23      2
24      31
25      23
27      28
28      9 
29      13
30      27

Глядя на day "значения этих наборов данных невооруженным глазом, становится ясно, что data-set1 is Random, data-set2 is dispersed and data-set 3 is clustered

Мой запрос: есть ли какой-нибудь алгоритм, который я мог бы использовать в Python для достижения этих результатов для очень больших наборов данных.

1 Ответ

0 голосов
/ 19 декабря 2018

Просто используйте любой алгоритм кластеризации.У вас есть только одна независимая переменная 'bookings', поэтому вычисление расстояния не должно быть дорогим в вычислительном отношении.Например, вы можете использовать sklearn.cluster.KMeans.

И если вы не хотите анализировать, сколько кластеров вам нужно, вы можете использовать алгоритм без априорного знания количества кластеров, например, sklearn.cluster.DBSCAN.

...