一个使用 latent space clustering model 和 NMF 进行Bicluster 聚类的实例
2017-01-07 16:38
831 查看
NMF = nonnegative matrix factorization
具体介绍请看拙文
本文将举例介绍如何综合使用 latent clustering model 和 NMF 模型 对消费者进行聚类。
我们这次演示用的数据是 Davis 数据集, 这是个18 * 14 的小数据集, 每一行是一位女性,总共18位女性,每一列是一个活动,总共有14个活动。 每一个cell可以取1或者0, 取值之为1时,代表该行代表的女士参加了该列的活动。你可以把每个活动想象成不同的电影或者在不同的餐馆就餐。 这里有个关于使用latent
clustering model的教程,也是使用的Davis 数据集。
以下是具体数据:
我们使用R package latentnet 进行聚类
从图中的结果看,活动似乎被分为了两个大 cluster, 上面的E1 -E6, 以及下方的E9 - E14。 女士们也能大致分为上下两个组。
我们再来看一下 NMF模型的结果,我们依旧使用我们的NMF R 包。 根据上面的结果我们把Basis 设为2。
我们可以看到, NMF的结果更为清晰,从右边的 Mixture coefficients 图中, 我们可以看到,NMF把E1 -E6 分为一类, E9 -E12 归为另一类。右边的basis components 图也清晰的显示出绝大多数女士被单独的归到了一类中。 两种模型所得出的结果一致。
具体介绍请看拙文
使用NMF模型进行消费者行为分析
本文将举例介绍如何综合使用 latent clustering model 和 NMF 模型 对消费者进行聚类。我们这次演示用的数据是 Davis 数据集, 这是个18 * 14 的小数据集, 每一行是一位女性,总共18位女性,每一列是一个活动,总共有14个活动。 每一个cell可以取1或者0, 取值之为1时,代表该行代表的女士参加了该列的活动。你可以把每个活动想象成不同的电影或者在不同的餐馆就餐。 这里有个关于使用latent
clustering model的教程,也是使用的Davis 数据集。
以下是具体数据:
我们使用R package latentnet 进行聚类
library(latentnet)
data(davis)
davis.fit<-ergmm(davis~bilinear(d=2)+rsociality)
plot(davis.fit,pie=TRUE,rand.eff="sociality",labels=TRUE)
从图中的结果看,活动似乎被分为了两个大 cluster, 上面的E1 -E6, 以及下方的E9 - E14。 女士们也能大致分为上下两个组。
我们再来看一下 NMF模型的结果,我们依旧使用我们的NMF R 包。 根据上面的结果我们把Basis 设为2。
library(NMF) data_matrix<-as.matrix.network(davis) fit<-nmf(data_matrix, 2, "lee", nrun=20) par(mfrow = c(1, 2)) basismap(fit) coefmap(fit)
我们可以看到, NMF的结果更为清晰,从右边的 Mixture coefficients 图中, 我们可以看到,NMF把E1 -E6 分为一类, E9 -E12 归为另一类。右边的basis components 图也清晰的显示出绝大多数女士被单独的归到了一类中。 两种模型所得出的结果一致。
相关文章推荐
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实例一个模块(商品字典)
- 【推荐系统系列】使用LFM(Latent factor model)隐语义模型进行Top-N推荐 (转载)
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
- 一个关于使用OIT表进行查询优化的实例
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用SharePoint 2010的PowerShell完成Object Model编程才能完成的功能的一个实例
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用ARM DS-5与Dstream StreamLine进行Android底层性能分析的一个实例
- QT单实例应用,使用QLocalSocket进行进程通信,不同运行权限下运行的同一个进程通讯失败,报错 “QLocalSocket::SocketAccessError”
- 【转载】使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用Pycluster包进行聚类分析实例
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 使用LFM(Latent factor model)隐语义模型进行Top-N推荐
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实例一个模块(商品字典)