在Python中对数字进行分组聚类

在Python中对数字进行分组聚类,第1张

在Python中对数字进行分组/聚类

有许多方法可以进行聚类分析。一种简单的方法是查看连续数据元素之间的间隙大小:

def cluster(data, maxgap):    '''Arrange data into groups where successive elements       differ by no more than *maxgap*        >>> cluster([1, 6, 9, 100, 102, 105, 109, 134, 139], maxgap=10)        [[1, 6, 9], [100, 102, 105, 109], [134, 139]]        >>> cluster([1, 6, 9, 99, 100, 102, 105, 134, 139, 141], maxgap=10)        [[1, 6, 9], [99, 100, 102, 105], [134, 139, 141]]    '''    data.sort()    groups = [[data[0]]]    for x in data[1:]:        if abs(x - groups[-1][-1]) <= maxgap: groups[-1].append(x)        else: groups.append([x])    return groupsif __name__ == '__main__':    import doctest    print(doctest.testmod())


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存