稀疏亲和传播聚类

pysapc的Python项目详细描述


用于稀疏关联传播(SAP)群集方法的Python包。
affinity propagation(ap)是brendan j.frey和delbert dueck提出的一种相对较新的聚类算法。与k-均值等经典聚类方法相比,ap具有聚类误差小、聚类数自动确定、样本(聚类中心)识别等优点。支持非对称确定性聚类结果的相似性(k-means聚类结果依赖于初始化,因此需要多次运行才能实现全局优化)。pysapc可以采用scipy稀疏矩阵(亲合/相似矩阵)代替完全相似矩阵。当完全相似矩阵不适合内存时,pysapc将非常有用。使用cython优化速度和内存。



安装:

从源安装:
下载并解压缩源文件并安装为:
python setup.py install


从pip安装:pip install pysapc

从conda安装:conda install-c https://conda.anaconda.org/bioifcao pysapc

安装,在python shell中,运行:
from pysapc import tests
tests.testdense()
testsparse()

quick start:

verboseiter=100)
sap样本=sap.fit预测(x)x应该是scipy稀疏相似矩阵



请注意,亲和性/相似性矩阵不需要是对称的,s(a,b)可以与s(b,a)不同。事实上可能是s(a,b)存在,而s(b,a)不存在于稀疏的亲和力/相似矩阵中。样本)
数据点k,p(k)的偏好将设置为相似性/相似性矩阵s(k,k),即数据点k作为样本(聚类中心)的先验适合性,较高的偏好值将导致更多的样本(聚类中心)。
一个好的初始选择是最小值('min')或中值('median')完全稠密亲和/相似矩阵。
请注意,不建议稀疏亲和/相似矩阵的最小值('min')或中值('median')。

收敛系数:int,可选,默认值:15。在数据点的示例(群集中心)标签中,没有更改或更改小于1.0-收敛百分比的迭代次数


收敛百分比:浮点,可选,默认值:0.999999,
此参数用于定义收敛条件。如果设置为0.999999,则100万个数据点中的一个或少于一个不改变它们的示例(聚类中心)将被认为是收敛的。< BR/>因为PYSAPC被设计用于处理大数据。如果pysapc尚未在max iter收敛,请尝试增大max iter。

damping:float,可选,默认值:0.9。
阻尼因子应介于0.5和1之间。

详细级别。如果设置为0或无,则无详细输出;
如果设置为1,则打印每个迭代的状态。
如果设置为100,则为每个100次迭代打印当前状态

并行:布尔值,默认值:真
是否启用cython多处理。建议将其设置为true以加快速度。


属性
----
示例:每个数据点的群集中心,相同长度h个样本。
每个数据点的样本(聚类中心)索引(矩阵的行索引)


注释
----
准备稀疏矩阵,对所有样本使用单一截止(例如保持全矩阵的前20%)或对每个样本使用不同的截止值,以便每个样本具有k个最近邻。建议用户尝试几种稀疏矩阵,并比较其聚类结果,以确定聚类结果何时达到平台(当包含更多数据时,聚类结果不会显著改变)



references
-------
brendan j.frey和delbert dueck,“通过在数据点之间传递消息进行聚类”,科学杂志,2007年2月

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
面向批处理的java非阻塞队列   java如何基于HttpComponent获取html内容   java为什么我的程序会显示此错误?   java spring控制器如何处理应用程序/octetstream请求?   尝试将数据插入数据库时出现java常规错误   无法在java多线程处理中维护生产者任务的顺序   java为什么JSON数据无法访问ViewPager?   java获取Maven中特定分支的SVN buildnumber   java客户端无法从服务器接收信息   java等轴测地图绘制,生成   java无法调试ProcessBuilder   java热点JVM阵列分配   在数组中存储“inputdialog”数据的java   saml Java Inflater引发DataFormatException“无效代码长度集”   从集合(爬虫、Jsoup、Java)写入文件