稀疏亲和传播聚类

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 ArrayList对象转换为实际值   web服务如何在JAVA类uisng JAXBElement中解组SOAP UI值   包含无值参数的java HttpClient表单URL   运行简单Camel Restlet演示项目的java问题?   带有自定义图标的java简单SWT警报消息?   java Netbeans 6.8:LibImport可以工作,但编译时“包不存在”   java如何获得绘画完成的通知?   java Hazelcast客户端模式群集故障后如何恢复?   Neo4J中Shapefile的java批插入   为什么ThreadPoolExecutor在Eclipse和从命令行运行Java程序时表现不同?   java在Android中计算两个坐标之间的距离时得到了荒谬的值   java在CardLayout中显示卡本身的下一张卡