python 变量聚类 proc varclus_Python varclushi包_程序模块 - PyPI - Python中文网

瓦克鲁希

这是一个python模块,用于执行具有层次结构的变量集群(varclus)。varclus是一种很好的降维算法。这里有一个简短的描述:选择要拆分的群集。

通过查找前两个主分量,执行正交旋转,并将每个变量分配给与之具有更高平方相关性的旋转分量,将所选簇分成两个簇。变量被迭代地重新分配到集群,以最大化由群集组件所占的方差。

缩进观众:那些熟悉varclus算法在其他分析软件(如sas)中的使用,但在试图找到合适的python模块时总是感到苦恼的人。

对varclus算法不熟悉的Python。源代码可以帮助您深入理解该算法背后的数学原理。

见解和亮点:(这是纯粹的理论部分,忽略这一点并不影响这个包的使用)。现有文献总是提到我们需要主成分(参照步骤2-3)。实际上,实现该算法不需要计算主成分,相关矩阵及其特征向量足以得到成分与变量的平方相关(这可以通过数学证明)。如果我们的数据集有数百万个观测值和数百个变量,不使用主成分将节省时间和内存。

如果我们使用sas varclus过程作为基准,python包varclusi可以产生非常相似的结果。这保证代码的正确性。:)

示例

有关详细信息,请参见demo.ipynb。importpandasaspdfromvarclushiimportVarClusHi

创建varclushi对象并将要分析的数据帧(df)作为参数传递,您还可以指定功能列表(feat_list,默认为df的所有列)

最大第二特征值(maxeigval2,默认值1)

最大群集数(最大群集数,默认为无)

然后调用方法varclus(),它执行分层变量聚类算法demo1_df=pd

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值